3 from slixmpp
.test
import SlixTest
6 class TestEvents(SlixTest
):
14 def testEventHappening(self
):
15 """Test handler working"""
18 def handletestevent(event
):
21 self
.xmpp
.add_event_handler("test_event", handletestevent
)
22 self
.xmpp
.event("test_event")
23 self
.xmpp
.event("test_event")
25 # Give the event queue time to process.
28 msg
= "Event was not triggered the correct number of times: %s"
29 self
.failUnless(happened
== [True, True], msg
)
31 def testDelEvent(self
):
32 """Test handler working, then deleted and not triggered"""
35 def handletestevent(event
):
38 self
.xmpp
.add_event_handler("test_event", handletestevent
)
39 self
.xmpp
.event("test_event", {})
41 self
.xmpp
.del_event_handler("test_event", handletestevent
)
43 # Should not trigger because it was deleted
44 self
.xmpp
.event("test_event", {})
46 # Give the event queue time to process.
49 msg
= "Event was not triggered the correct number of times: %s"
50 self
.failUnless(happened
== [True], msg
% happened
)
52 def testAddDelAddEvent(self
):
53 """Test adding, then removing, then adding an event handler."""
56 def handletestevent(event
):
59 self
.xmpp
.add_event_handler("test_event", handletestevent
)
60 self
.xmpp
.event("test_event", {})
62 self
.xmpp
.del_event_handler("test_event", handletestevent
)
63 # Should not trigger because it was deleted
64 self
.xmpp
.event("test_event", {})
66 self
.xmpp
.add_event_handler("test_event", handletestevent
)
67 self
.xmpp
.event("test_event", {})
69 # Give the event queue time to process.
72 msg
= "Event was not triggered the correct number of times: %s"
73 self
.failUnless(happened
== [True, True], msg
% happened
)
75 def testDisposableEvent(self
):
76 """Test disposable handler working, then not being triggered again."""
79 def handletestevent(event
):
82 self
.xmpp
.add_event_handler("test_event", handletestevent
,
84 self
.xmpp
.event("test_event", {})
86 # Should not trigger because it was deleted
87 self
.xmpp
.event("test_event", {})
89 # Give the event queue time to process.
92 msg
= "Event was not triggered the correct number of times: %s"
93 self
.failUnless(happened
== [True], msg
% happened
)
96 suite
= unittest
.TestLoader().loadTestsFromTestCase(TestEvents
)