From fd86fb8f38343e0eda229cd857ef03ed5c8a34e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Sat, 27 Aug 2011 19:23:58 +0200 Subject: Added StringPrep unit test. 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 +#include + +#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); -- cgit v0.10.2-6-g49f6