def test_event_descriptor_abuse():
    """Test event descriptor abuse."""

    with pytest.raises(TypeError):
        del EventTest.PublicEvent

    with pytest.raises(TypeError):
        del EventTest.__dict__['PublicEvent']

    desc = EventTest.__dict__['PublicEvent']

    with pytest.raises(TypeError):
        desc.__get__(0, 0)

    with pytest.raises(TypeError):
        desc.__set__(0, 0)

    with pytest.raises(TypeError):
        ob = EventTest()
        ob.PublicEvent = 0

    with pytest.raises(TypeError):
        EventTest.PublicStaticEvent = 0
Ejemplo n.º 2
0
    def test_event_descriptor_abuse(self):
        """Test event descriptor abuse."""

        with self.assertRaises(TypeError):
            del EventTest.PublicEvent

        with self.assertRaises(TypeError):
            del EventTest.__dict__['PublicEvent']

        desc = EventTest.__dict__['PublicEvent']

        with self.assertRaises(TypeError):
            desc.__get__(0, 0)

        with self.assertRaises(TypeError):
            desc.__set__(0, 0)

        with self.assertRaises(TypeError):
            ob = EventTest()
            ob.PublicEvent = 0

        with self.assertRaises(TypeError):
            EventTest.PublicStaticEvent = 0
Ejemplo n.º 3
0
    def testEvents(self):
        from Python.Test import EventTest, TestEventArgs

        self.notify("Running event leak check...")

        for i in xrange(self.count):
            if i == 10:
                self.start_test()

            testob = EventTest()

            # Instance method event handler
            handler = GenericHandler()
            testob.PublicEvent += handler.handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler.handler
            del handler

            # Vararg method event handler
            handler = VariableArgsHandler()
            testob.PublicEvent += handler.handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler.handler
            del handler

            # Callable object event handler
            handler = CallableHandler()
            testob.PublicEvent += handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler
            del handler

            # Callable vararg event handler
            handler = VarCallableHandler()
            testob.PublicEvent += handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler
            del handler

            # Static method event handler
            handler = StaticMethodHandler()
            StaticMethodHandler.value = None
            testob.PublicEvent += handler.handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler.handler
            del handler

            # Class method event handler
            handler = ClassMethodHandler()
            ClassMethodHandler.value = None
            testob.PublicEvent += handler.handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler.handler
            del handler

            # Managed instance event handler
            testob.PublicEvent += testob.GenericHandler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= testob.GenericHandler

            # Static managed event handler
            testob.PublicEvent += EventTest.StaticHandler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= EventTest.StaticHandler

            # Function event handler
            dict = {'value': None}

            def handler(sender, args, dict=dict):
                dict['value'] = args.value

            testob.PublicEvent += handler
            testob.PublicEvent(testob, TestEventArgs(10))
            testob.PublicEvent -= handler
            del handler

        self.end_test()
Ejemplo n.º 4
0
 def test():
     object = EventTest()
     object.PublicEvent = 0
Ejemplo n.º 5
0
 def test():
     object = EventTest()
     object.PublicEvent = 0