diff options
Diffstat (limited to 'Swiften/Chat/UnitTest/ChatStateNotifierTest.cpp')
m--------- | Swiften | 0 | ||||
-rw-r--r-- | Swiften/Chat/UnitTest/ChatStateNotifierTest.cpp | 132 |
2 files changed, 0 insertions, 132 deletions
diff --git a/Swiften b/Swiften new file mode 160000 +Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c diff --git a/Swiften/Chat/UnitTest/ChatStateNotifierTest.cpp b/Swiften/Chat/UnitTest/ChatStateNotifierTest.cpp deleted file mode 100644 index 44ec9d8..0000000 --- a/Swiften/Chat/UnitTest/ChatStateNotifierTest.cpp +++ /dev/null @@ -1,132 +0,0 @@ -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/extensions/TestFactoryRegistry.h> -#include <boost/bind.hpp> - -#include "Swiften/Chat/ChatStateNotifier.h" - -using namespace Swift; - - -class ChatStateMonitor { -public: - ChatStateMonitor(ChatStateNotifier* notifier) { - notifier_ = notifier; - composingCallCount = 0; - activeCallCount = 0; - notifier->onChatStateChanged.connect(boost::bind(&ChatStateMonitor::handleChatStateChanged, this, _1)); - }; - - int composingCallCount; - int activeCallCount; - ChatState::ChatStateType currentState; - -private: - void handleChatStateChanged(ChatState::ChatStateType newState) { - switch (newState) { - case ChatState::Composing: - composingCallCount++; - break; - case ChatState::Active: - activeCallCount++; - break; - default: - break; - } - currentState = newState; - }; - - ChatStateNotifier* notifier_; -}; - -class ChatStateNotifierTest : public CppUnit::TestFixture { - CPPUNIT_TEST_SUITE(ChatStateNotifierTest); - CPPUNIT_TEST(testStartTypingReply_CapsNotIncluded); - CPPUNIT_TEST(testStartTypingReply_CapsIncluded); - CPPUNIT_TEST(testCancelledNewMessage); - CPPUNIT_TEST(testContinueTypingReply_CapsIncluded); - CPPUNIT_TEST(testContactShouldReceiveStates_CapsOnly); - CPPUNIT_TEST(testContactShouldReceiveStates_CapsNorActive); - CPPUNIT_TEST(testContactShouldReceiveStates_ActiveOverrideOn); - CPPUNIT_TEST(testContactShouldReceiveStates_ActiveOverrideOff); - CPPUNIT_TEST_SUITE_END(); - -private: - ChatStateNotifier* notifier_; - ChatStateMonitor* monitor_; - -public: - void setUp() { - notifier_ = new ChatStateNotifier(); - monitor_ = new ChatStateMonitor(notifier_); - } - - void tearDown() { - delete notifier_; - delete monitor_; - } - - void testStartTypingReply_CapsNotIncluded() { - notifier_->setContactHas85Caps(false); - notifier_->setUserIsTyping(); - CPPUNIT_ASSERT_EQUAL(0, monitor_->composingCallCount); - } - - void testSendTwoMessages() { - notifier_->setContactHas85Caps(true); - notifier_->setUserIsTyping(); - notifier_->userSentMessage(); - notifier_->setUserIsTyping(); - notifier_->userSentMessage(); - CPPUNIT_ASSERT_EQUAL(2, monitor_->composingCallCount); - } - - void testCancelledNewMessage() { - notifier_->setContactHas85Caps(true); - notifier_->setUserIsTyping(); - notifier_->userCancelledNewMessage(); - CPPUNIT_ASSERT_EQUAL(1, monitor_->composingCallCount); - CPPUNIT_ASSERT_EQUAL(1, monitor_->activeCallCount); - CPPUNIT_ASSERT_EQUAL(ChatState::Active, monitor_->currentState); - } - - - void testContactShouldReceiveStates_CapsOnly() { - notifier_->setContactHas85Caps(true); - CPPUNIT_ASSERT_EQUAL(true, notifier_->contactShouldReceiveStates()); - } - - void testContactShouldReceiveStates_CapsNorActive() { - CPPUNIT_ASSERT_EQUAL(false, notifier_->contactShouldReceiveStates()); - } - - void testContactShouldReceiveStates_ActiveOverrideOn() { - notifier_->setContactHas85Caps(false); - notifier_->receivedMessageFromContact(true); - CPPUNIT_ASSERT_EQUAL(true, notifier_->contactShouldReceiveStates()); - } - - void testContactShouldReceiveStates_ActiveOverrideOff() { - notifier_->setContactHas85Caps(true); - notifier_->receivedMessageFromContact(false); - CPPUNIT_ASSERT_EQUAL(false, notifier_->contactShouldReceiveStates()); - } - - - void testStartTypingReply_CapsIncluded() { - notifier_->setContactHas85Caps(true); - notifier_->setUserIsTyping(); - CPPUNIT_ASSERT_EQUAL(1, monitor_->composingCallCount); - } - - void testContinueTypingReply_CapsIncluded() { - notifier_->setContactHas85Caps(true); - notifier_->setUserIsTyping(); - notifier_->setUserIsTyping(); - notifier_->setUserIsTyping(); - CPPUNIT_ASSERT_EQUAL(1, monitor_->composingCallCount); - } - - -}; - -CPPUNIT_TEST_SUITE_REGISTRATION(ChatStateNotifierTest); |