diff options
Diffstat (limited to 'tests/test_events.py')
-rw-r--r-- | tests/test_events.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/test_events.py b/tests/test_events.py index ea4cf8a4..fb34be30 100644 --- a/tests/test_events.py +++ b/tests/test_events.py @@ -48,6 +48,29 @@ class TestEvents(SleekTest): msg = "Event was not triggered the correct number of times: %s" self.failUnless(happened == [True], msg % happened) + def testAddDelAddEvent(self): + """Test adding, then removing, then adding an event handler.""" + happened = [] + + def handletestevent(event): + happened.append(True) + + self.xmpp.add_event_handler("test_event", handletestevent) + self.xmpp.event("test_event", {}) + + self.xmpp.del_event_handler("test_event", handletestevent) + # Should not trigger because it was deleted + self.xmpp.event("test_event", {}) + + self.xmpp.add_event_handler("test_event", handletestevent) + self.xmpp.event("test_event", {}) + + # Give the event queue time to process. + time.sleep(0.1) + + msg = "Event was not triggered the correct number of times: %s" + self.failUnless(happened == [True, True], msg % happened) + def testDisposableEvent(self): """Test disposable handler working, then not being triggered again.""" happened = [] |