summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-09-14 20:31:36 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-09-14 20:31:36 (GMT)
commit2535c1d383fa16d02d547090bd2e64b79c3a24c8 (patch)
tree5d89749d4786e7049972a69ec1b7df79cbe8a878 /Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp
parent83b526c1580a0a4effa01b5ffb710d7dfaea1e55 (diff)
downloadswift-contrib-2535c1d383fa16d02d547090bd2e64b79c3a24c8.zip
swift-contrib-2535c1d383fa16d02d547090bd2e64b79c3a24c8.tar.bz2
Added reset() to PayloadAddingPresenceSender.
Diffstat (limited to 'Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp')
-rw-r--r--Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp b/Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp
index 0dd6f74..3a6ab31 100644
--- a/Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp
+++ b/Swiften/Presence/UnitTest/PayloadAddingPresenceSenderTest.cpp
@@ -17,18 +17,19 @@
using namespace Swift;
class PayloadAddingPresenceSenderTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(PayloadAddingPresenceSenderTest);
CPPUNIT_TEST(testSetPayloadAddsPayloadOnPresenceSend);
CPPUNIT_TEST(testSetNullPayloadDoesNotAddPayloadOnPresenceSend);
CPPUNIT_TEST(testSendPresenceDoesNotAlterOriginalPayload);
CPPUNIT_TEST(testSetPayloadAfterInitialPresenceResendsPresence);
CPPUNIT_TEST(testSetPayloadAfterUnavailablePresenceDoesNotResendPresence);
+ CPPUNIT_TEST(testSetPayloadAfterResetDoesNotResendPresence);
CPPUNIT_TEST(testSendDirectedPresenceIsNotResent);
CPPUNIT_TEST_SUITE_END();
public:
void setUp() {
stanzaChannel = new DummyStanzaChannel();
presenceSender = new StanzaChannelPresenceSender(stanzaChannel);
}
@@ -77,24 +78,36 @@ class PayloadAddingPresenceSenderTest : public CppUnit::TestFixture {
CPPUNIT_ASSERT_EQUAL(2, static_cast<int>(stanzaChannel->sentStanzas.size()));
CPPUNIT_ASSERT_EQUAL(std::string("bar"), stanzaChannel->getStanzaAtIndex<Presence>(1)->getStatus());
CPPUNIT_ASSERT(stanzaChannel->getStanzaAtIndex<Presence>(1)->getPayload<MyPayload>());
}
void testSetPayloadAfterUnavailablePresenceDoesNotResendPresence() {
boost::shared_ptr<PayloadAddingPresenceSender> testling(createSender());
+ testling->sendPresence(Presence::create("bar"));
+
Presence::ref presence = Presence::create("bar");
presence->setType(Presence::Unavailable);
testling->sendPresence(presence);
testling->setPayload(MyPayload::create("foo"));
+ CPPUNIT_ASSERT_EQUAL(2, static_cast<int>(stanzaChannel->sentStanzas.size()));
+ }
+
+ void testSetPayloadAfterResetDoesNotResendPresence() {
+ boost::shared_ptr<PayloadAddingPresenceSender> testling(createSender());
+ testling->sendPresence(Presence::create("bar"));
+
+ testling->reset();
+ testling->setPayload(MyPayload::create("foo"));
+
CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size()));
}
void testSendDirectedPresenceIsNotResent() {
boost::shared_ptr<PayloadAddingPresenceSender> testling(createSender());
testling->sendPresence(Presence::create("bar"));
Presence::ref directedPresence = Presence::create("baz");
directedPresence->setTo(JID("foo@bar.com"));