Beispiel #1
0
    def test_send(self):
        def receiver(*args, **kwargs):
            return "derp", args, kwargs

        def another_receiver(*args, **kwargs):
            return 42

        class Test(object):
            def __init__(self):
                dispatcher.connect(self.test, SIGNAL, False)

            def test(self, *args, **kwargs):
                return "works!", args[0]

        Test()

        dispatcher.connect(receiver, SIGNAL)
        dispatcher.connect(another_receiver, SIGNAL)
        responses = dispatcher.send(SIGNAL, 42, herp="derp")
        expected = [
            ("works!", 42),
            42,
            ("derp", (42,), {'herp': u'derp'}),
        ]
        self.assertItemsEqual(expected, responses)
Beispiel #2
0
    def test_connection(self):
        def receiver():
            pass

        receiver_id = _id(receiver)
        dispatcher.connect(receiver, SIGNAL)
        receivers = dispatcher.connections.get(SIGNAL)
        self.assertEqual(len(receivers), 1)
        r_id, _ = receivers[-1]
        self.assertEqual(r_id, receiver_id)
Beispiel #3
0
    def test_disconnect(self):
        def receiver():
            pass

        def another_receiver():
            pass

        another_receiver_id = _id(another_receiver)
        dispatcher.connect(receiver, SIGNAL)
        dispatcher.connect(another_receiver, SIGNAL)
        dispatcher.disconnect(receiver, SIGNAL)
        receivers = dispatcher.connections.get(SIGNAL)
        r_id, _ = receivers[-1]
        self.assertEqual(r_id, another_receiver_id)
Beispiel #4
0
    def test_multiple_connections(self):
        def receiver():
            pass

        def another_receiver():
            pass

        class Test(object):
            def __init__(self):
                dispatcher.connect(self.test, ANOTHER_SIGNAL, False)

            def test(self):
                pass

        Test()

        dispatcher.connect(receiver, SIGNAL)
        dispatcher.connect(another_receiver, SIGNAL)
        self.assertEqual(len(dispatcher.connections), 2)
        self.assertEqual(len(dispatcher.connections.get(SIGNAL)), 2)
        self.assertEqual(len(dispatcher.connections.get(ANOTHER_SIGNAL)), 1)
Beispiel #5
0
 def __init__(self):
     dispatcher.connect(self.test, SIGNAL, False)