Example #1
0
def test_event_dispatch():
    q = Queue.Queue()

    def callback(event):
        q.put(event)

    for tc_id, tc in enumerate(dispatch_test_cases):
        print "Launching test case {0}".format(tc_id)
        q.queue.clear()
        listeners = {}

        for event in tc['register_events']:
            listener = gem.event.PyListener(callback)
            event.register(listener)
            listeners.setdefault(event, []).append(listener)

        for event in tc['raise_events']:
            event.notify_observers()

        for event in tc['listen_events']:
            raised_event = q.get()
            assert raised_event == event

        for event, listeners in listeners.iteritems():
            for l in listeners:
                event.unregister(l)
            event.notify_observers()
            assert q.empty()
Example #2
0
def test_event_dispatch():
    q = Queue.Queue()

    def callback(event):
        q.put(event)

    for tc_id, tc in enumerate(dispatch_test_cases):
        print "Launching test case {0}".format(tc_id)
        q.queue.clear()
        listeners = {}

        for event in tc['register_events']:
            listener = gem.event.PyListener(callback)
            event.register(listener)
            listeners.setdefault(event, []).append(listener)

        for event in tc['raise_events']:
            event.notify_observers()

        for event in tc['listen_events']:
            raised_event = q.get()
            assert raised_event == event

        for event, listeners in listeners.iteritems():
            for l in listeners:
                event.unregister(l)
            event.notify_observers()
            assert q.empty()
Example #3
0
def test_event_dispatch_object():
    q = Queue.Queue()

    class CBClass(object):
        def callback(self, event, arg1, arg2):
            q.put(event)
            q.put(arg1)
            q.put(arg2)

    obj = CBClass()

    for tc_id, tc in enumerate(args_test_cases):
        print "Launching test case {0}".format(tc_id)
        q.queue.clear()
        listeners = {}

        for event in tc['register_events']:
            listener = gem.event.PyListener(obj.callback)
            event.register(listener)
            listeners.setdefault(event, []).append(listener)

        for event in tc['raise_events']:
            event.notify_observers(tc['arg1'], tc['arg2'])

        for event in tc['listen_events']:
            raised_event = q.get()
            assert raised_event == event
            assert q.get() == tc['arg1']
            assert q.get() == tc['arg2']

        for event, listeners in listeners.iteritems():
            for l in listeners:
                event.unregister(l)
            event.notify_observers()
            assert q.empty()
Example #4
0
def test_event_dispatch_object():
    q = Queue.Queue()

    class CBClass(object):
        def callback(self, event, arg1, arg2):
            q.put(event)
            q.put(arg1)
            q.put(arg2)

    obj = CBClass()


    for tc_id, tc in enumerate(args_test_cases):
        print "Launching test case {0}".format(tc_id)
        q.queue.clear()
        listeners = {}

        for event in tc['register_events']:
            listener = gem.event.PyListener(obj.callback)
            event.register(listener)
            listeners.setdefault(event, []).append(listener)

        for event in tc['raise_events']:
            event.notify_observers(tc['arg1'], tc['arg2'])

        for event in tc['listen_events']:
            raised_event = q.get()
            assert raised_event == event
            assert q.get() == tc['arg1']
            assert q.get() == tc['arg2']

        for event, listeners in listeners.iteritems():
            for l in listeners:
                event.unregister(l)
            event.notify_observers()
            assert q.empty()
Example #5
0
File: event.py Project: gemrs/gem
 def new_del(self):
     for event, handles in event_handles.iteritems():
         for handle in handles:
             event.unregister(handle)
     if orig_del:
         orig_del(self)
Example #6
0
File: event.py Project: PureDu/gem
 def new_del(self):
     for event, handles in event_handles.iteritems():
         for handle in handles:
             event.unregister(handle)
     if orig_del:
         orig_del(self)