diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-08-27 17:34:07 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-08-27 17:34:07 (GMT) |
commit | 7f931ab66d8294a20267f1008540532828ab0d20 (patch) | |
tree | c6bd3a2a33ac0f099b1624db5f0ec7831d71dc22 /Swiften/IDN | |
parent | 8da2a30bab8640944de750abd1ba26f8543f12ca (diff) | |
parent | 8dbae452004e7bc3c3a6e855f365b9bb348e8f2d (diff) | |
download | swift-7f931ab66d8294a20267f1008540532828ab0d20.zip swift-7f931ab66d8294a20267f1008540532828ab0d20.tar.bz2 |
Merge branch 'swift-1.x'
* swift-1.x:
Update last used certificate file correctly.
Mark JIDs with empty domains as invalid when StringPrep cache is disabled.
Added StringPrep unit test.
Diffstat (limited to 'Swiften/IDN')
-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); |