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
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
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()
def test(): object = EventTest() object.PublicEvent = 0