diff options
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/UnitTest')
| -rw-r--r-- | Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp b/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp index fdf93a9..bf30db8 100644 --- a/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp +++ b/Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp | |||
| @@ -13,10 +13,11 @@ using namespace Swift; | |||
| 13 | 13 | ||
| 14 | class RosterSerializerTest : public CppUnit::TestFixture | 14 | class RosterSerializerTest : public CppUnit::TestFixture |
| 15 | { | 15 | { |
| 16 | CPPUNIT_TEST_SUITE(RosterSerializerTest); | 16 | CPPUNIT_TEST_SUITE(RosterSerializerTest); |
| 17 | CPPUNIT_TEST(testSerialize); | 17 | CPPUNIT_TEST(testSerialize); |
| 18 | CPPUNIT_TEST(testSerialize_ItemWithUnknownContent); | ||
| 18 | CPPUNIT_TEST_SUITE_END(); | 19 | CPPUNIT_TEST_SUITE_END(); |
| 19 | 20 | ||
| 20 | public: | 21 | public: |
| 21 | RosterSerializerTest() {} | 22 | RosterSerializerTest() {} |
| 22 | 23 | ||
| @@ -47,8 +48,35 @@ class RosterSerializerTest : public CppUnit::TestFixture | |||
| 47 | "<item jid=\"baz@blo.com\" name=\"Baz\" subscription=\"none\"/>" | 48 | "<item jid=\"baz@blo.com\" name=\"Baz\" subscription=\"none\"/>" |
| 48 | "</query>"; | 49 | "</query>"; |
| 49 | 50 | ||
| 50 | CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(roster)); | 51 | CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(roster)); |
| 51 | } | 52 | } |
| 53 | |||
| 54 | void testSerialize_ItemWithUnknownContent() { | ||
| 55 | RosterSerializer testling; | ||
| 56 | boost::shared_ptr<RosterPayload> roster(new RosterPayload()); | ||
| 57 | |||
| 58 | RosterItemPayload item; | ||
| 59 | item.setJID(JID("baz@blo.com")); | ||
| 60 | item.setName("Baz"); | ||
| 61 | item.addGroup("Group 1"); | ||
| 62 | item.addGroup("Group 2"); | ||
| 63 | item.addUnknownContent(String( | ||
| 64 | "<foo xmlns=\"http://example.com\"><bar xmlns=\"http://example.com\">Baz</bar></foo>" | ||
| 65 | "<baz xmlns=\"jabber:iq:roster\"><fum xmlns=\"jabber:iq:roster\">foo</fum></baz>")); | ||
| 66 | roster->addItem(item); | ||
| 67 | |||
| 68 | String expectedResult = | ||
| 69 | "<query xmlns=\"jabber:iq:roster\">" | ||
| 70 | "<item jid=\"baz@blo.com\" name=\"Baz\" subscription=\"none\">" | ||
| 71 | "<group>Group 1</group>" | ||
| 72 | "<group>Group 2</group>" | ||
| 73 | "<foo xmlns=\"http://example.com\"><bar xmlns=\"http://example.com\">Baz</bar></foo>" | ||
| 74 | "<baz xmlns=\"jabber:iq:roster\"><fum xmlns=\"jabber:iq:roster\">foo</fum></baz>" | ||
| 75 | "</item>" | ||
| 76 | "</query>"; | ||
| 77 | |||
| 78 | CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(roster)); | ||
| 79 | } | ||
| 52 | }; | 80 | }; |
| 53 | 81 | ||
| 54 | CPPUNIT_TEST_SUITE_REGISTRATION(RosterSerializerTest); | 82 | CPPUNIT_TEST_SUITE_REGISTRATION(RosterSerializerTest); |
Swift