/* * 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/Serializer/PayloadSerializers/RosterSerializer.h" using namespace Swift; class RosterSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(RosterSerializerTest); CPPUNIT_TEST(testSerialize); CPPUNIT_TEST(testSerialize_ItemWithUnknownContent); CPPUNIT_TEST_SUITE_END(); public: RosterSerializerTest() {} void testSerialize() { RosterSerializer testling; boost::shared_ptr 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); std::string expectedResult = "" "" "Group 1" "Group 2" "" "" ""; CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(roster)); } void testSerialize_ItemWithUnknownContent() { RosterSerializer testling; boost::shared_ptr roster(new RosterPayload()); RosterItemPayload item; item.setJID(JID("baz@blo.com")); item.setName("Baz"); item.addGroup("Group 1"); item.addGroup("Group 2"); item.addUnknownContent(std::string( "Baz" "foo")); roster->addItem(item); std::string expectedResult = "" "" "Group 1" "Group 2" "Baz" "foo" "" ""; CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(roster)); } }; CPPUNIT_TEST_SUITE_REGISTRATION(RosterSerializerTest);