1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 __docformat__ = 'reStructuredText'
20
21 import unittest
22
23 from pytilities.event import Dispatcher, UnsupportedEventError
24 from .helpers import Listener
25
30
38
40 self.ed.register_events("a", "b")
41
42 self.assert_(self.ed.has_event("b"))
43 self.assert_(self.ed.has_event("b"))
44
45 self.ed.add_handler("a", self.l.handle_noarg)
46 self.ed.dispatch("a")
47
48
49 self.assertEquals(self.l.last, "noarg")
50
51 self.ed.add_handler("b", self.l.handle_1arg)
52 self.ed.dispatch("b", 5)
53
54
55 self.assertEquals(self.l.last, "1arg: 5")
56
57 self.l.last = ""
58 self.ed.remove_handler("a", self.l.handle_noarg)
59 self.ed.dispatch("a")
60
61
62 self.assertNotEquals(self.l.last, "noarg")
63
64 self.ed.add_handler("a", self.l.handle_noarg)
65 self.ed.remove_handlers("a")
66 self.ed.dispatch("a")
67
68 self.assertNotEquals(self.l.last, "noarg")
69
70 self.ed.dispatch("b", 5)
71
72 self.assertEquals(self.l.last, "1arg: 5")
73
74 self.l.last = ""
75 self.ed.add_handler("a", self.l.handle_noarg)
76 self.ed.remove_handlers()
77 self.ed.dispatch("a")
78
79
80 self.assertNotEquals(self.l.last, "noarg")
81
82 self.ed.dispatch("b", 5)
83
84 self.assertNotEquals(self.l.last, "1arg: 5")
85
87 self.ed.register_events("a", "b")
88
89 self.ed.add_handler("a", self.l.handle_noarg, self.l)
90 self.ed.dispatch("a")
91
92
93 self.assertEquals(self.l.last, "noarg")
94
95 self.ed.add_handler("b", self.l.handle_1arg)
96 self.ed.dispatch("b", 5)
97
98
99 self.assertEquals(self.l.last, "1arg: 5")
100
101 self.l.last = ""
102 self.ed.remove_handlers(owner=self.l)
103 self.ed.dispatch("a")
104
105
106 self.assertNotEquals(self.l.last, "noarg")
107
108 self.ed.dispatch("b", 5)
109
110 self.assertEquals(self.l.last, "1arg: 5")
111