def test_remove_listener(): dispatcher = EventDispatcher() for event_id in ( STRING_EVENT_ID, OBJECT_EVENT_ID, NUMERIC_EVENT_ID, ): listener = mock.MagicMock() assert not dispatcher.has_listeners(event_id) dispatcher.add_listener(event_id, listener) assert dispatcher.has_listeners(event_id) assert listener.call_count == 0 e = dispatcher.dispatch(event_id) assert listener.call_count == 1 assert not e.propagation_stopped assert dispatcher.has_listeners(event_id) dispatcher.remove_listener(event_id, listener) assert not dispatcher.has_listeners(event_id) e = dispatcher.dispatch(event_id) assert listener.call_count == 1 assert not e.propagation_stopped
def test_dispatcher(event_id): dispatcher = EventDispatcher() listener = mock.MagicMock() assert not dispatcher.has_listeners(event_id) dispatcher.add_listener(event_id, listener) assert dispatcher.has_listeners(event_id) assert listener.call_count == 0 e = dispatcher.dispatch(event_id) assert listener.call_count == 1 assert not e.propagation_stopped e = dispatcher.dispatch(event_id) assert listener.call_count == 2 assert not e.propagation_stopped
def test_no_listener(): dispatcher = EventDispatcher() for event_id in ( STRING_EVENT_ID, OBJECT_EVENT_ID, NUMERIC_EVENT_ID, ): assert not dispatcher.has_listeners(event_id) e = dispatcher.dispatch(event_id) assert not e.propagation_stopped