summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp')
-rw-r--r--Swiften/Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp28
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
14class RosterSerializerTest : public CppUnit::TestFixture 14class 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
54CPPUNIT_TEST_SUITE_REGISTRATION(RosterSerializerTest); 82CPPUNIT_TEST_SUITE_REGISTRATION(RosterSerializerTest);