diff options
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp')
| -rw-r--r-- | Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp b/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp new file mode 100644 index 0000000..81fdc09 --- /dev/null +++ b/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp @@ -0,0 +1,48 @@ +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> + +#include "Swiften/Serializer/PayloadSerializers/RosterSerializer.h" + +using namespace Swift; + +class RosterSerializerTest : public CppUnit::TestFixture +{ +		CPPUNIT_TEST_SUITE(RosterSerializerTest); +		CPPUNIT_TEST(testSerialize); +		CPPUNIT_TEST_SUITE_END(); + +	public: +		RosterSerializerTest() {} + +		void testSerialize() { +			RosterSerializer testling; +			boost::shared_ptr<RosterPayload> roster(new RosterPayload()); + +			RosterItemPayload item1; +			item1.setJID(JID("foo@bar.com")); +			item1.setName("Foo @ Bar"); +			item1.setSubscription(RosterItemPayload::From); +			item1.addGroup("Group 1"); +			item1.addGroup("Group 2"); +			item1.setSubscriptionRequested(); +			roster->addItem(item1); + +			RosterItemPayload item2; +			item2.setJID(JID("baz@blo.com")); +			item2.setName("Baz"); +			roster->addItem(item2); + +			String expectedResult =  +				"<query xmlns=\"jabber:iq:roster\">" +					"<item ask=\"subscribe\" jid=\"foo@bar.com\" name=\"Foo @ Bar\" subscription=\"from\">" +						"<group>Group 1</group>" +						"<group>Group 2</group>" +					"</item>" +					"<item jid=\"baz@blo.com\" name=\"Baz\" subscription=\"none\"/>" +				"</query>"; + +			CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(roster)); +		} +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(RosterSerializerTest); | 
 Swift
 Swift