5 from gi.repository import GLib, GObject
11 class TestObject(unittest.TestCase):
12 def test_create_ctor(self):
13 o = testmodule.PyGObject()
14 self.assertTrue(isinstance(o, GObject.Object))
15 self.assertTrue(isinstance(o, testmodule.PyGObject))
17 # has expected property
18 self.assertEqual(o.props.label, 'hello')
19 o.props.label = 'goodbye'
20 self.assertEqual(o.props.label, 'goodbye')
21 self.assertRaises(AttributeError, getattr, o.props, 'nosuchprop')
23 def test_pyobject_new_test_type(self):
24 o = testhelper.create_test_type()
25 self.assertTrue(isinstance(o, testmodule.PyGObject))
27 # has expected property
28 self.assertEqual(o.props.label, 'hello')
29 o.props.label = 'goodbye'
30 self.assertEqual(o.props.label, 'goodbye')
31 self.assertRaises(AttributeError, getattr, o.props, 'nosuchprop')
33 def test_new_refcount(self):
34 # TODO: justify why this should be 2
35 self.assertEqual(testhelper.test_g_object_new(), 2)
38 class TestGValueConversion(unittest.TestCase):
40 self.assertEqual(testhelper.test_value(0), 0)
41 self.assertEqual(testhelper.test_value(5), 5)
42 self.assertEqual(testhelper.test_value(-5), -5)
43 self.assertEqual(testhelper.test_value(GObject.G_MAXINT32), GObject.G_MAXINT32)
44 self.assertEqual(testhelper.test_value(GObject.G_MININT32), GObject.G_MININT32)
47 self.assertEqual(testhelper.test_value('hello'), 'hello')
49 def test_int_array(self):
50 self.assertEqual(testhelper.test_value_array([]), [])
51 self.assertEqual(testhelper.test_value_array([0]), [0])
53 self.assertEqual(testhelper.test_value_array(ar), ar)
55 def test_str_array(self):
56 self.assertEqual(testhelper.test_value_array([]), [])
57 self.assertEqual(testhelper.test_value_array(['a']), ['a'])
58 ar = ('aa ' * 1000).split()
59 self.assertEqual(testhelper.test_value_array(ar), ar)
62 class TestErrors(unittest.TestCase):
63 def test_gerror(self):
64 callable_ = lambda: GLib.file_get_contents('/nonexisting ')
65 self.assertRaises(GLib.GError, testhelper.test_gerror_exception, callable_)
67 def test_no_gerror(self):
68 callable_ = lambda: GLib.file_get_contents(__file__)
69 self.assertEqual(testhelper.test_gerror_exception(callable_), None)
72 if __name__ == '__main__':