@@ -150,84 +150,3 @@ TEST(ListenerTest, StartStopListeningForEventSpec) {
150150 ASSERT_EQ (event_sp->GetBroadcaster (), &broadcaster1);
151151 ASSERT_FALSE (listener_sp->GetEvent (event_sp, std::chrono::seconds (0 )));
152152}
153-
154- TEST (ListenerTest, MoveEventsOnHijackAndRestore) {
155- Broadcaster broadcaster (nullptr , " test-broadcaster" );
156- const uint32_t event_mask = 1 ;
157- EventSP event_sp;
158-
159- // Create the original listener and start listening.
160- ListenerSP original_listener = Listener::MakeListener (" original-listener" );
161- ASSERT_EQ (event_mask, original_listener->StartListeningForEvents (&broadcaster,
162- event_mask));
163- broadcaster.SetPrimaryListener (original_listener);
164-
165- // Queue two events to original listener, but do not consume them yet.
166- broadcaster.BroadcastEvent (event_mask, nullptr );
167- broadcaster.BroadcastEvent (event_mask, nullptr );
168-
169- // Hijack.
170- ListenerSP hijack_listener = Listener::MakeListener (" hijack-listener" );
171- broadcaster.HijackBroadcaster (hijack_listener, event_mask);
172-
173- // The events should have been moved to the hijack listener.
174- EXPECT_FALSE (original_listener->GetEvent (event_sp, std::chrono::seconds (0 )));
175- EXPECT_TRUE (hijack_listener->GetEvent (event_sp, std::chrono::seconds (0 )));
176- EXPECT_TRUE (hijack_listener->GetEvent (event_sp, std::chrono::seconds (0 )));
177-
178- // Queue two events while hijacked, but do not consume them yet.
179- broadcaster.BroadcastEvent (event_mask, nullptr );
180- broadcaster.BroadcastEvent (event_mask, nullptr );
181-
182- // Restore the original listener.
183- broadcaster.RestoreBroadcaster ();
184-
185- // The events queued while hijacked should have been moved back to the
186- // original listener.
187- EXPECT_FALSE (hijack_listener->GetEvent (event_sp, std::chrono::seconds (0 )));
188- EXPECT_TRUE (original_listener->GetEvent (event_sp, std::chrono::seconds (0 )));
189- EXPECT_TRUE (original_listener->GetEvent (event_sp, std::chrono::seconds (0 )));
190- }
191-
192- TEST (ListenerTest, MoveEventsBetweenHijackers) {
193- Broadcaster broadcaster (nullptr , " test-broadcaster" );
194- const uint32_t event_mask = 1 ;
195- EventSP event_sp;
196-
197- // Create the original listener and start listening.
198- ListenerSP original_listener = Listener::MakeListener (" original-listener" );
199- ASSERT_EQ (event_mask, original_listener->StartListeningForEvents (&broadcaster,
200- event_mask));
201- broadcaster.SetPrimaryListener (original_listener);
202-
203- // First hijack.
204- ListenerSP hijack_listener1 = Listener::MakeListener (" hijack-listener1" );
205- broadcaster.HijackBroadcaster (hijack_listener1, event_mask);
206-
207- // Queue two events while hijacked, but do not consume
208- // them yet.
209- broadcaster.BroadcastEvent (event_mask, nullptr );
210- broadcaster.BroadcastEvent (event_mask, nullptr );
211-
212- // Second hijack.
213- ListenerSP hijack_listener2 = Listener::MakeListener (" hijack-listener2" );
214- broadcaster.HijackBroadcaster (hijack_listener2, event_mask);
215-
216- // The second hijacker should have the events now.
217- EXPECT_FALSE (hijack_listener1->GetEvent (event_sp, std::chrono::seconds (0 )));
218- EXPECT_TRUE (hijack_listener2->GetEvent (event_sp, std::chrono::seconds (0 )));
219- EXPECT_TRUE (hijack_listener2->GetEvent (event_sp, std::chrono::seconds (0 )));
220-
221- // Queue two events while hijacked with second hijacker, but do not consume
222- // them yet.
223- broadcaster.BroadcastEvent (event_mask, nullptr );
224- broadcaster.BroadcastEvent (event_mask, nullptr );
225-
226- // Restore the previous hijacker.
227- broadcaster.RestoreBroadcaster ();
228-
229- // The first hijacker should now have the events.
230- EXPECT_FALSE (hijack_listener2->GetEvent (event_sp, std::chrono::seconds (0 )));
231- EXPECT_TRUE (hijack_listener1->GetEvent (event_sp, std::chrono::seconds (0 )));
232- EXPECT_TRUE (hijack_listener1->GetEvent (event_sp, std::chrono::seconds (0 )));
233- }
0 commit comments