9 def __init__(self, loop):
10 glib.Idle.__init__(self)
12 self.set_callback(self.callback, loop)
14 def callback(self, loop):
19 class MySource(glib.Source):
21 glib.Source.__init__(self)
29 def dispatch(self, callback, args):
30 return callback(*args)
33 class TestSource(unittest.TestCase):
34 def timeout_callback(self, loop):
37 def my_callback(self, loop):
41 def setup_timeout(self, loop):
42 timeout = glib.Timeout(500)
43 timeout.set_callback(self.timeout_callback, loop)
46 def testSources(self):
47 loop = glib.MainLoop()
49 self.setup_timeout(loop)
57 m.set_callback(self.my_callback, loop)
62 assert self.pos >= 0 and idle.count >= 0
64 def testSourcePrepare(self):
65 # this test may not terminate if prepare() is wrapped incorrectly
67 loop = glib.MainLoop()
69 class CustomTimeout(glib.Source):
76 def dispatch(self, callback, args):
83 source = CustomTimeout()
86 source.set_callback(dir)
93 class TestTimeout(unittest.TestCase):
95 timeout_source = glib.Timeout(20)
96 idle_source = glib.Idle()
99 if __name__ == '__main__':