/* * Copyright (c) 2013 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <Swiften/Serializer/PayloadSerializers/BlockSerializer.h> #include <Swiften/Elements/BlockListPayload.h> #include <Swiften/Elements/BlockPayload.h> #include <Swiften/Elements/UnblockPayload.h> #include <Swiften/JID/JID.h> using namespace Swift; class BlockSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(BlockSerializerTest); CPPUNIT_TEST(testExample4); CPPUNIT_TEST(testExample6); CPPUNIT_TEST(testExample10); CPPUNIT_TEST_SUITE_END(); public: BlockSerializerTest() {} void testExample4() { BlockSerializer<BlockListPayload> testling("blocklist"); boost::shared_ptr<BlockListPayload> blocklist = boost::make_shared<BlockListPayload>(); blocklist->addItem(JID("romeo@montague.net")); blocklist->addItem(JID("iago@shakespeare.lit")); CPPUNIT_ASSERT_EQUAL(std::string("<blocklist xmlns=\"urn:xmpp:blocking\"><item jid=\"romeo@montague.net\"/><item jid=\"iago@shakespeare.lit\"/></blocklist>"), testling.serialize(blocklist)); } void testExample6() { BlockSerializer<BlockPayload> testling("block"); boost::shared_ptr<BlockPayload> block = boost::make_shared<BlockPayload>(); block->addItem(JID("romeo@montague.net")); CPPUNIT_ASSERT_EQUAL(std::string("<block xmlns=\"urn:xmpp:blocking\"><item jid=\"romeo@montague.net\"/></block>"), testling.serialize(block)); } void testExample10() { BlockSerializer<UnblockPayload> testling("unblock"); boost::shared_ptr<UnblockPayload> unblock = boost::make_shared<UnblockPayload>(); unblock->addItem(JID("romeo@montague.net")); CPPUNIT_ASSERT_EQUAL(std::string("<unblock xmlns=\"urn:xmpp:blocking\"><item jid=\"romeo@montague.net\"/></unblock>"), testling.serialize(unblock)); } }; CPPUNIT_TEST_SUITE_REGISTRATION(BlockSerializerTest);