/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include #include #include "Swiften/Serializer/PayloadSerializers/UnitTest/PayloadsSerializer.h" #include "Swiften/Elements/Storage.h" using namespace Swift; class StorageSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(StorageSerializerTest); CPPUNIT_TEST(testSerialize); CPPUNIT_TEST(testSerialize_NoNickOrPassword); CPPUNIT_TEST_SUITE_END(); public: StorageSerializerTest() {} void testSerialize() { PayloadsSerializer serializer; boost::shared_ptr storage(new Storage()); Storage::Room room; room.name = "Council of Oberon"; room.autoJoin = true; room.jid = JID("council@conference.underhill.org"); room.nick = "Puck"; room.password = "MyPass"; storage->addRoom(room); Storage::URL url; url.name = "Complete Works of Shakespeare"; url.url = "http://the-tech.mit.edu/Shakespeare/"; storage->addURL(url); CPPUNIT_ASSERT_EQUAL(String( "" "" "Puck" "MyPass" "" "" ""), serializer.serialize(storage)); } void testSerialize_NoNickOrPassword() { PayloadsSerializer serializer; boost::shared_ptr storage(new Storage()); Storage::Room room; room.name = "Council of Oberon"; room.autoJoin = true; room.jid = JID("council@conference.underhill.org"); storage->addRoom(room); CPPUNIT_ASSERT_EQUAL(String( "" "" ""), serializer.serialize(storage)); } }; CPPUNIT_TEST_SUITE_REGISTRATION(StorageSerializerTest);