From 387a3193b648f40f499895c0c03b982c2f8d1263 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Fri, 31 Jul 2009 00:25:50 +0200
Subject: Added unit test that triggers the assertion on self service removal.


diff --git a/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp b/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp
index 76117c0..9f91269 100644
--- a/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp
+++ b/Swiften/LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp
@@ -22,6 +22,7 @@ class LinkLocalServiceBrowserTest : public CppUnit::TestFixture {
 		CPPUNIT_TEST(testServiceAdded_UnregisteredService);
 		CPPUNIT_TEST(testServiceChanged);
 		CPPUNIT_TEST(testServiceRemoved);
+		CPPUNIT_TEST(testServiceRemoved_UnregisteredService);
 		CPPUNIT_TEST(testError_BrowseErrorAfterStart);
 		CPPUNIT_TEST(testError_BrowseErrorAfterResolve);
 		CPPUNIT_TEST(testRegisterService);
@@ -154,6 +155,23 @@ class LinkLocalServiceBrowserTest : public CppUnit::TestFixture {
 			testling->stop();
 		}
 
+		void testServiceRemoved_UnregisteredService() {
+			boost::shared_ptr<LinkLocalServiceBrowser> testling = createTestling();
+			testling->start();
+			eventLoop->processEvents();
+			testling->registerService("alice", 1234, LinkLocalServiceInfo());
+			eventLoop->processEvents();
+			testling->unregisterService();
+			eventLoop->processEvents();
+
+			querier->removeService(*aliceServiceID);
+			eventLoop->processEvents();
+
+			CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(removedServices.size()));
+
+			testling->stop();
+		}
+
 		void testServiceChanged() {
 			boost::shared_ptr<LinkLocalServiceBrowser> testling = createTestling();
 			testling->start();
-- 
cgit v0.10.2-6-g49f6