summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Elements/UnitTest/StanzaTest.cpp')
-rw-r--r--Swiften/Elements/UnitTest/StanzaTest.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/Swiften/Elements/UnitTest/StanzaTest.cpp b/Swiften/Elements/UnitTest/StanzaTest.cpp
index fb9b8a5..1e7e9c4 100644
--- a/Swiften/Elements/UnitTest/StanzaTest.cpp
+++ b/Swiften/Elements/UnitTest/StanzaTest.cpp
@@ -19,6 +19,7 @@ class StanzaTest : public CppUnit::TestFixture
CPPUNIT_TEST_SUITE(StanzaTest);
CPPUNIT_TEST(testConstructor_Copy);
CPPUNIT_TEST(testGetPayload);
+ CPPUNIT_TEST(testGetPayloads);
CPPUNIT_TEST(testGetPayload_NoSuchPayload);
CPPUNIT_TEST(testDestructor);
CPPUNIT_TEST(testDestructor_Copy);
@@ -113,6 +114,21 @@ class StanzaTest : public CppUnit::TestFixture
CPPUNIT_ASSERT(!p);
}
+ void testGetPayloads() {
+ Message m;
+ boost::shared_ptr<MyPayload2> payload1(new MyPayload2());
+ boost::shared_ptr<MyPayload2> payload2(new MyPayload2());
+ m.addPayload(boost::shared_ptr<MyPayload1>(new MyPayload1()));
+ m.addPayload(payload1);
+ m.addPayload(boost::shared_ptr<MyPayload3>(new MyPayload3()));
+ m.addPayload(payload2);
+
+ CPPUNIT_ASSERT_EQUAL((size_t)2, m.getPayloads<MyPayload2>().size());
+ CPPUNIT_ASSERT_EQUAL(payload1, m.getPayloads<MyPayload2>()[0]);
+ CPPUNIT_ASSERT_EQUAL(payload2, m.getPayloads<MyPayload2>()[1]);
+ }
+
+
void testUpdatePayload_ExistingPayload() {
Message m;
m.addPayload(boost::shared_ptr<MyPayload1>(new MyPayload1()));