diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-08-01 17:49:35 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-08-01 17:49:35 (GMT) |
commit | 3a4c1c7a6fd03fed0bdfc3acc85d60ec1797361c (patch) | |
tree | 546b28d7970ef4b2bd719b04a3ec32530df8d680 /Swiften/LinkLocal/UnitTest | |
parent | d856cc05a54eabe3014b8512b27192c9e8da35ff (diff) | |
download | swift-contrib-3a4c1c7a6fd03fed0bdfc3acc85d60ec1797361c.zip swift-contrib-3a4c1c7a6fd03fed0bdfc3acc85d60ec1797361c.tar.bz2 |
Added LinkLocalConnector::cancel().
Diffstat (limited to 'Swiften/LinkLocal/UnitTest')
-rw-r--r-- | Swiften/LinkLocal/UnitTest/LinkLocalConnectorTest.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Swiften/LinkLocal/UnitTest/LinkLocalConnectorTest.cpp b/Swiften/LinkLocal/UnitTest/LinkLocalConnectorTest.cpp index b052e6a..ee5e414 100644 --- a/Swiften/LinkLocal/UnitTest/LinkLocalConnectorTest.cpp +++ b/Swiften/LinkLocal/UnitTest/LinkLocalConnectorTest.cpp @@ -16,6 +16,8 @@ class LinkLocalConnectorTest : public CppUnit::TestFixture { CPPUNIT_TEST(testConnect); CPPUNIT_TEST(testConnect_UnableToResolve); CPPUNIT_TEST(testConnect_UnableToConnect); + CPPUNIT_TEST(testCancel_DuringResolve); + CPPUNIT_TEST(testCancel_DuringConnect); CPPUNIT_TEST_SUITE_END(); public: @@ -49,6 +51,7 @@ class LinkLocalConnectorTest : public CppUnit::TestFixture { void testConnect_UnableToResolve() { boost::shared_ptr<LinkLocalConnector> testling(createConnector("rabbithole.local", 1234)); + querier->setAddress("rabbithole.local", boost::optional<HostAddress>()); testling->connect(); eventLoop->processEvents(); @@ -71,6 +74,36 @@ class LinkLocalConnectorTest : public CppUnit::TestFixture { CPPUNIT_ASSERT(connectError); CPPUNIT_ASSERT(!connection->connectedTo); } + + void testCancel_DuringResolve() { + boost::shared_ptr<LinkLocalConnector> + testling(createConnector("rabbithole.local", 1234)); + testling->connect(); + eventLoop->processEvents(); + CPPUNIT_ASSERT(!connectFinished); + + testling->cancel(); + eventLoop->processEvents(); + querier->setAddress("rabbithole.local", HostAddress("192.168.1.1")); + eventLoop->processEvents(); + + CPPUNIT_ASSERT(FakeConnection::Disconnected == connection->state); + } + + void testCancel_DuringConnect() { + boost::shared_ptr<LinkLocalConnector> + testling(createConnector("rabbithole.local", 1234)); + querier->setAddress("rabbithole.local", HostAddress("192.168.1.1")); + connection->setDelayConnect(); + testling->connect(); + eventLoop->processEvents(); + CPPUNIT_ASSERT(FakeConnection::Connecting == connection->state); + + testling->cancel(); + eventLoop->processEvents(); + + CPPUNIT_ASSERT(FakeConnection::Disconnected == connection->state); + } private: boost::shared_ptr<LinkLocalConnector> createConnector(const String& hostname, int port) { |