From 86019af7ebefce4f7ef7bf930c60b852963357f6 Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Thu, 31 Jan 2019 15:11:48 +0200 Subject: [PATCH] Add unittest to verify removal of last event listener --- .../netsocket/NetworkInterface/test_NetworkInterface.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp b/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp index 342a323910..18af75bb18 100644 --- a/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp +++ b/UNITTESTS/features/netsocket/NetworkInterface/test_NetworkInterface.cpp @@ -168,6 +168,7 @@ TEST_F(TestNetworkInterface, add_event_listener) TEST_F(TestNetworkInterface, remove_event_listener) { + // Add two callback and check that both are called callback_is_called = false; second_callback_called = false; iface->add_event_listener(my_iface_callback); @@ -176,15 +177,23 @@ TEST_F(TestNetworkInterface, remove_event_listener) EXPECT_EQ(callback_is_called, true); EXPECT_EQ(second_callback_called, true); + // Remove one of the callbacks iface->remove_event_listener(my_iface_callback2); callback_is_called = false; second_callback_called = false; + // expect only the one is called which remains in the list iface->event(NSAPI_EVENT_CONNECTION_STATUS_CHANGE, 0); EXPECT_EQ(callback_is_called, true); EXPECT_EQ(second_callback_called, false); + // Remove also the last callback, and expect nothing is called iface->remove_event_listener(my_iface_callback); + callback_is_called = false; + second_callback_called = false; + iface->event(NSAPI_EVENT_CONNECTION_STATUS_CHANGE, 0); + EXPECT_EQ(callback_is_called, false); + EXPECT_EQ(second_callback_called, false); } TEST_F(TestNetworkInterface, correct_event_listener_per_interface)