/* * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <memory> #include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h> #include <Swiften/Serializer/PayloadSerializers/MAMFinSerializer.h> using namespace Swift; class MAMFinSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(MAMFinSerializerTest); CPPUNIT_TEST(testSerialize_XEP0313_Exmaple1); CPPUNIT_TEST(testSerialize_XEP0313_Exmaple9); CPPUNIT_TEST_SUITE_END(); public: void testSerialize_XEP0313_Exmaple1() { MAMFinSerializer serializer; std::shared_ptr<MAMFin> fin = std::make_shared<MAMFin>(); fin->setQueryID("f27"); std::string expectedResult = "<fin queryid=\"f27\" xmlns=\"urn:xmpp:mam:0\"/>"; CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(fin)); } void testSerialize_XEP0313_Exmaple9() { MAMFinSerializer serializer; std::shared_ptr<MAMFin> fin = std::make_shared<MAMFin>(); fin->setComplete(true); std::shared_ptr<ResultSet> set = std::make_shared<ResultSet>(); set->setFirstID(std::string("23452-4534-1")); set->setFirstIDIndex(0); set->setLastID(std::string("390-2342-22")); set->setCount(16); fin->setResultSet(set); std::string expectedResult = "<fin complete=\"true\" xmlns=\"urn:xmpp:mam:0\">" "<set xmlns=\"http://jabber.org/protocol/rsm\">" "<count>16</count>" "<first index=\"0\">23452-4534-1</first>" "<last>390-2342-22</last>" "</set>" "</fin>"; CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(fin)); } private: FullPayloadSerializerCollection serializers; }; CPPUNIT_TEST_SUITE_REGISTRATION(MAMFinSerializerTest);