summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Maudsley <richard.maudsley@isode.com>2014-02-25 13:19:11 (GMT)
committerSwift Review <review@swift.im>2014-04-24 13:06:33 (GMT)
commite4704555946626980014d936dcfe6ede2710501b (patch)
tree59d0db1bad3d4a0f74c89da8834b2002369c3b4b /Swiften/Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp
parent09e9713028b728fad9050c4e20180cc96c4572ce (diff)
downloadswift-e4704555946626980014d936dcfe6ede2710501b.zip
swift-e4704555946626980014d936dcfe6ede2710501b.tar.bz2
Added MAM parsers, serializers and tests.
Change-Id: I589a7c65664bfecfd0ac34240600dcccb4cbd40e
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp')
-rw-r--r--Swiften/Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp98
1 files changed, 98 insertions, 0 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp b/Swiften/Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp
new file mode 100644
index 0000000..641b856
--- /dev/null
+++ b/Swiften/Serializer/PayloadSerializers/UnitTest/ResultSetSerializerTest.cpp
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2014 Kevin Smith and Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include <boost/smart_ptr/make_shared.hpp>
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+
+#include <Swiften/Serializer/PayloadSerializers/ResultSetSerializer.h>
+#include <Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h>
+#include <Swiften/Elements/ResultSet.h>
+
+using namespace Swift;
+
+class ResultSetSerializerTest : public CppUnit::TestFixture {
+ CPPUNIT_TEST_SUITE(ResultSetSerializerTest);
+ CPPUNIT_TEST(testSerializeFull);
+ CPPUNIT_TEST(testSerializeMaxItems);
+ CPPUNIT_TEST(testSerializeFirst);
+ CPPUNIT_TEST(testSerializeFirstWithIndex);
+ CPPUNIT_TEST_SUITE_END();
+
+ public:
+ void testSerializeFull() {
+ ResultSetSerializer serializer;
+
+ boost::shared_ptr<ResultSet> resultSet(boost::make_shared<ResultSet>());
+
+ resultSet->setMaxItems(100);
+ resultSet->setCount(800);
+ resultSet->setFirstIDIndex(123);
+ resultSet->setFirstID(std::string("stpeter@jabber.org"));
+ resultSet->setLastID(std::string("peterpan@neverland.lit"));
+ resultSet->setAfter(std::string("09af3-cc343-b409f"));
+
+ std::string expectedResult =
+ "<set xmlns=\"http://jabber.org/protocol/rsm\">"
+ "<max>100</max>"
+ "<count>800</count>"
+ "<first index=\"123\">stpeter@jabber.org</first>"
+ "<last>peterpan@neverland.lit</last>"
+ "<after>09af3-cc343-b409f</after>"
+ "</set>";
+
+ CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(resultSet));
+ }
+
+ void testSerializeMaxItems() {
+ ResultSetSerializer serializer;
+
+ boost::shared_ptr<ResultSet> resultSet(boost::make_shared<ResultSet>());
+
+ resultSet->setMaxItems(100);
+
+ std::string expectedResult =
+ "<set xmlns=\"http://jabber.org/protocol/rsm\">"
+ "<max>100</max>"
+ "</set>";
+
+ CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(resultSet));
+ }
+
+ void testSerializeFirst() {
+ ResultSetSerializer serializer;
+
+ boost::shared_ptr<ResultSet> resultSet(boost::make_shared<ResultSet>());
+
+ resultSet->setFirstID(std::string("stpeter@jabber.org"));
+
+ std::string expectedResult =
+ "<set xmlns=\"http://jabber.org/protocol/rsm\">"
+ "<first>stpeter@jabber.org</first>"
+ "</set>";
+
+ CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(resultSet));
+ }
+
+ void testSerializeFirstWithIndex() {
+ ResultSetSerializer serializer;
+
+ boost::shared_ptr<ResultSet> resultSet(boost::make_shared<ResultSet>());
+
+ resultSet->setFirstID(std::string("stpeter@jabber.org"));
+ resultSet->setFirstIDIndex(123);
+
+ std::string expectedResult =
+ "<set xmlns=\"http://jabber.org/protocol/rsm\">"
+ "<first index=\"123\">stpeter@jabber.org</first>"
+ "</set>";
+
+ CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(resultSet));
+ }
+};
+
+CPPUNIT_TEST_SUITE_REGISTRATION(ResultSetSerializerTest);