From f2385971a2095d00df29f7afe2435de19a12491c 2015-12-03 06:07:41 From: Jan Kaluza Date: 2015-12-03 06:07:41 Subject: [PATCH] Test that STATUS_NONE can be forwarded --- diff --git a/src/tests/localbuddy.cpp b/src/tests/localbuddy.cpp index ca50ece1d0d29afdb8a57331845b7474bc223710..d73cf5dd18066fc6dfc68c6494b5a084e8d924c2 100644 --- a/src/tests/localbuddy.cpp +++ b/src/tests/localbuddy.cpp @@ -21,6 +21,7 @@ class LocalBuddyTest : public CPPUNIT_NS :: TestFixture, public BasicTest { CPPUNIT_TEST(getSafeName); CPPUNIT_TEST(sendPresence); CPPUNIT_TEST(setAlias); + CPPUNIT_TEST(sendPresenceTypeNone); CPPUNIT_TEST_SUITE_END(); public: @@ -126,6 +127,24 @@ class LocalBuddyTest : public CPPUNIT_NS :: TestFixture, public BasicTest { CPPUNIT_ASSERT_EQUAL(std::string("Buddy 2"), item.getName()); } + void sendPresenceTypeNone() { + User *user = userManager->getUser("user@localhost"); + CPPUNIT_ASSERT(user); + + std::vector grp; + grp.push_back("group1"); + LocalBuddy *buddy = new LocalBuddy(user->getRosterManager(), -1, "buddy1", "Buddy 1", grp, BUDDY_JID_ESCAPING); + buddy->setStatus(Swift::StatusShow(Swift::StatusShow::Away), ""); + user->getRosterManager()->setBuddy(buddy); + received.clear(); + + buddy->setStatus(Swift::StatusShow(Swift::StatusShow::None), ""); + dumpReceived(); + CPPUNIT_ASSERT_EQUAL(1, (int) received.size()); + CPPUNIT_ASSERT(dynamic_cast(getStanza(received[0]))); + CPPUNIT_ASSERT_EQUAL(Swift::StatusShow::None, dynamic_cast(getStanza(received[0]))->getShow()); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION (LocalBuddyTest);