diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
| commit | f53a1ef582494458301b97bf6e546be52d7ff7e8 (patch) | |
| tree | 7571b5cbcbd8a8f1dd1c966c9045b6cb69f0e295 /Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp | |
| parent | 638345680d72ca6acaf123f2c8c1c391f696e371 (diff) | |
| download | swift-f53a1ef582494458301b97bf6e546be52d7ff7e8.zip swift-f53a1ef582494458301b97bf6e546be52d7ff7e8.tar.bz2  | |
Moving submodule contents back.
Diffstat (limited to 'Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp')
| -rw-r--r-- | Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp | 50 | 
1 files changed, 50 insertions, 0 deletions
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp new file mode 100644 index 0000000..4c8db07 --- /dev/null +++ b/Swiften/Parser/PayloadParsers/UnitTest/RosterParserTest.cpp @@ -0,0 +1,50 @@ +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> + +#include "Swiften/Parser/PayloadParsers/RosterParser.h" +#include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h" + +using namespace Swift; + +class RosterParserTest : public CppUnit::TestFixture +{ +		CPPUNIT_TEST_SUITE(RosterParserTest); +		CPPUNIT_TEST(testParse); +		CPPUNIT_TEST_SUITE_END(); + +	public: +		RosterParserTest() {} + +		void testParse() { +			PayloadsParserTester parser; +			parser.parse( +				"<query xmlns='jabber:iq:roster'>" +				"	<item jid='foo@bar.com' name='Foo @ Bar' subscription='from' ask='subscribe'>" +				"		<group>Group 1</group>" +				"		<group>Group 2</group>" +				"	</item>" +				" <item jid='baz@blo.com' name='Baz'/>" +				"</query>"); + +			RosterPayload* payload = dynamic_cast<RosterPayload*>(parser.getPayload().get()); +			const RosterPayload::RosterItemPayloads& items = payload->getItems(); + +			CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), items.size()); + +			CPPUNIT_ASSERT_EQUAL(JID("foo@bar.com"), items[0].getJID()); +			CPPUNIT_ASSERT_EQUAL(String("Foo @ Bar"), items[0].getName()); +			CPPUNIT_ASSERT_EQUAL(RosterItemPayload::From, items[0].getSubscription()); +			CPPUNIT_ASSERT(items[0].getSubscriptionRequested()); +			CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), items[0].getGroups().size()); +			CPPUNIT_ASSERT_EQUAL(String("Group 1"), items[0].getGroups()[0]); +			CPPUNIT_ASSERT_EQUAL(String("Group 2"), items[0].getGroups()[1]); + +			CPPUNIT_ASSERT_EQUAL(JID("baz@blo.com"), items[1].getJID()); +			CPPUNIT_ASSERT_EQUAL(String("Baz"), items[1].getName()); +			CPPUNIT_ASSERT_EQUAL(RosterItemPayload::None, items[1].getSubscription()); +			CPPUNIT_ASSERT(!items[1].getSubscriptionRequested()); +			CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), items[1].getGroups().size()); +		} +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(RosterParserTest);  | 
 Swift