diff options
| -rw-r--r-- | Swiften/IDN/SConscript | 6 | ||||
| -rw-r--r-- | Swiften/IDN/UnitTest/StringPrepTest.cpp | 34 | 
2 files changed, 39 insertions, 1 deletions
| diff --git a/Swiften/IDN/SConscript b/Swiften/IDN/SConscript index 7382578..99b35fd 100644 --- a/Swiften/IDN/SConscript +++ b/Swiften/IDN/SConscript @@ -1,4 +1,4 @@ -Import("swiften_env") +Import("swiften_env", "env")  myenv = swiften_env.Clone()  myenv.MergeFlags(swiften_env["LIBIDN_FLAGS"]) @@ -8,3 +8,7 @@ objects = myenv.SwiftenObject([  			"IDNA.cpp",  		])  swiften_env.Append(SWIFTEN_OBJECTS = [objects]) + +env.Append(UNITTEST_SOURCES = [ +			File("UnitTest/StringPrepTest.cpp"), +	]) diff --git a/Swiften/IDN/UnitTest/StringPrepTest.cpp b/Swiften/IDN/UnitTest/StringPrepTest.cpp new file mode 100644 index 0000000..beab01e --- /dev/null +++ b/Swiften/IDN/UnitTest/StringPrepTest.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> + +#include "Swiften/IDN/StringPrep.h" + +using namespace Swift; + +class StringPrepTest : public CppUnit::TestFixture { +		CPPUNIT_TEST_SUITE(StringPrepTest); +		CPPUNIT_TEST(testStringPrep); +		CPPUNIT_TEST(testStringPrep_Empty); +		CPPUNIT_TEST_SUITE_END(); + +	public: +		void testStringPrep() { +			std::string result = StringPrep::getPrepared("tron\xc3\x87on", StringPrep::NamePrep); + +			CPPUNIT_ASSERT_EQUAL(std::string("tron\xc3\xa7on"), result); +		} + +		void testStringPrep_Empty() { +			CPPUNIT_ASSERT_EQUAL(std::string(""), StringPrep::getPrepared("", StringPrep::NamePrep)); +			CPPUNIT_ASSERT_EQUAL(std::string(""), StringPrep::getPrepared("", StringPrep::XMPPNodePrep)); +			CPPUNIT_ASSERT_EQUAL(std::string(""), StringPrep::getPrepared("", StringPrep::XMPPResourcePrep)); +		} +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(StringPrepTest); | 
 Swift
 Swift