Ejemplo n.º 1
0
    def test_emit(self):
        """
        Tests signals
        
        Verifies:
            * emitting registered signal calls mapped functions
            * emitting unregistered signal doesn't raise an exception
        """
        manager = ModuleManager()
        module0 = Foo()
        module1 = Xoo()
        manager.register_listener("FOO", module0.foo)
        manager.register_listener("FOO", module1.foo)
        manager.register_listener("BAR", module0.bar)

        args = (1, 2, 3)
        kwargs = {"a": 1, "b": 2}
        manager.emit_signal("FOO")
        manager.emit_signal("BAR", *args, **kwargs)

        module0.foo.assertCalled(self)
        module1.foo.assertCalled(self)
        module0.bar.assertCalled(self, *args, **kwargs)