summaryrefslogtreecommitdiff
path: root/tests/test_thread.py
blob: d58a30f340f966e2dc713987c1b1a8184dd3101d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import os
import unittest

from common import gobject, gtk, testhelper

# Enable PyGILState API
os.environ['PYGTK_USE_GIL_STATE_API'] = ''

gobject.threads_init()

class TestThread(unittest.TestCase):
    def from_thread_cb(self, test, enum):
        assert test == self.obj
        assert int(enum) == 0
        assert type(enum) != int
        
    def idle_cb(self):
        self.obj = testhelper.get_test_thread()
        self.obj.connect('from-thread', self.from_thread_cb)
        self.obj.emit('emit-signal')

    def testExtensionModule(self):
        gtk.idle_add(self.idle_cb)
        gtk.timeout_add(50, self.timeout_cb)
        gtk.main()

    def timeout_cb(self):
        gtk.main_quit()