예제 #1
0
 def test_add_listener(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     collection = dispatcher.add('SampleEvent', func)
     assert len(dispatcher.events) == 1
     assert len(dispatcher.events['SampleEvent']) == 1
     assert isinstance(collection, collections.Listener)
예제 #2
0
 def test_add_listener(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     collection = dispatcher.add('SampleEvent', func)
     assert len(dispatcher.events) == 1
     assert len(dispatcher.events['SampleEvent']) == 1
     assert isinstance(collection, collections.Listener)
예제 #3
0
 def test_only_one_execution(self):
     dispatcher = EventDispatcher()
     func = lambda x: x.name
     dispatcher.add('SampleEvent', func, only_once=True)
     result = dispatcher.trigger(Event('SampleEvent'))
     assert len(result) == 1
     result2 = dispatcher.trigger(Event('SampleEvent'))
     assert len(result2) == 0
예제 #4
0
 def test_remove_all_listeners(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     dispatcher.add('SampleEvent', func)
     dispatcher.add('SampleEvent', func)
     dispatcher.add('SampleEvent', func)
     assert len(dispatcher.events['SampleEvent']) == 3
     dispatcher.remove('SampleEvent')
     assert len(dispatcher.events['SampleEvent']) == 0
예제 #5
0
 def test_remove_individual_listener(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     dispatcher.add('SampleEvent', func)
     assert len(dispatcher.events['SampleEvent']) == 1
     dispatcher.remove('SampleEvent', func)
     assert len(dispatcher.events['SampleEvent']) == 0
     collection = dispatcher.remove('NewEvent')
     assert len(collection) == 0
예제 #6
0
 def test_remove_all_listeners(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     dispatcher.add('SampleEvent', func)
     dispatcher.add('SampleEvent', func)
     dispatcher.add('SampleEvent', func)
     assert len(dispatcher.events['SampleEvent']) == 3
     dispatcher.remove('SampleEvent')
     assert len(dispatcher.events['SampleEvent']) == 0
예제 #7
0
    def test_stopped_propagation(self):
        dispatcher = EventDispatcher()

        def func(event):
            event.stop_propagation()
            return event.name
        func2 = lambda x: x.name
        dispatcher.add('SampleEvent', func)
        dispatcher.add('SampleEvent', func2)
        result = dispatcher.trigger(Event('SampleEvent'))
        assert len(result) == 1
예제 #8
0
 def test_only_one_execution(self):
     dispatcher = EventDispatcher()
     func = lambda x: x.name
     dispatcher.add('SampleEvent', func, only_once=True)
     result = dispatcher.trigger(Event('SampleEvent'))
     assert len(result) == 1
     result2 = dispatcher.trigger(Event('SampleEvent'))
     assert len(result2) == 0
예제 #9
0
 def test_remove_individual_listener(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     dispatcher.add('SampleEvent', func)
     assert len(dispatcher.events['SampleEvent']) == 1
     dispatcher.remove('SampleEvent', func)
     assert len(dispatcher.events['SampleEvent']) == 0
     collection = dispatcher.remove('NewEvent')
     assert len(collection) == 0
예제 #10
0
 def test_create_dispatcher(self):
     dispatcher = EventDispatcher()
     assert repr(dispatcher
                 ) == '<watson.events.dispatcher.EventDispatcher events:0>'
예제 #11
0
 def test_trigger_invalid_event(self):
     dispatcher = EventDispatcher()
     dispatcher.trigger('test')
예제 #12
0
 def test_trigger(self):
     dispatcher = EventDispatcher()
     func = lambda x: x.name
     dispatcher.add('SampleEvent', func)
     result = dispatcher.trigger(Event('SampleEvent'))
     assert result.first() == 'SampleEvent'
예제 #13
0
 def test_dispatcher_has_event(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     dispatcher.add('SampleEvent', func)
     assert 'SampleEvent' in dispatcher
     assert dispatcher.has('SampleEvent', func)
예제 #14
0
 def test_trigger_invalid_event(self):
     dispatcher = EventDispatcher()
     dispatcher.trigger('test')
예제 #15
0
 def test_trigger(self):
     dispatcher = EventDispatcher()
     func = lambda x: x.name
     dispatcher.add('SampleEvent', func)
     result = dispatcher.trigger(Event('SampleEvent'))
     assert result.first() == 'SampleEvent'
예제 #16
0
 def test_dispatcher_has_event(self):
     dispatcher = EventDispatcher()
     func = lambda x: x
     dispatcher.add('SampleEvent', func)
     assert 'SampleEvent' in dispatcher
     assert dispatcher.has('SampleEvent', func)