From f2385971a2095d00df29f7afe2435de19a12491c Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Thu, 3 Dec 2015 06:07:41 +0100 Subject: [PATCH] Test that STATUS_NONE can be forwarded --- src/tests/localbuddy.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/tests/localbuddy.cpp b/src/tests/localbuddy.cpp index ca50ece1..d73cf5dd 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);