From 48f0a43f2faffee931ba419dac2687a93344bf5a Mon Sep 17 00:00:00 2001 From: Gian Mario Tagliaretti Date: Mon, 5 Apr 2010 18:12:05 +0200 Subject: Bug 613341 - pygobject tests seem to require pygtk causing a circular dependencies problem move tests that require pygtk from pygobject to pygtk itself --- tests/test_conversion.py | 17 +++++++++++++++ tests/test_enum.py | 55 ++++++++++++++++++++++++++---------------------- 2 files changed, 47 insertions(+), 25 deletions(-) (limited to 'tests') diff --git a/tests/test_conversion.py b/tests/test_conversion.py index 2642d11e..30d29df8 100644 --- a/tests/test_conversion.py +++ b/tests/test_conversion.py @@ -52,6 +52,23 @@ class Tests(unittest.TestCase): self.assertEqual(entry.get_property('invisible_char'), valid_value, valid_value) + def testColorCreation(self): + """ Test GdkColor creation """ + + c = gtk.gdk.Color(1, 2, 3) + self.assertEqual(c.red, 1) + self.assertEqual(c.green, 2) + self.assertEqual(c.blue, 3) + + c = gtk.gdk.Color(pixel=0xffff) + self.assertEqual(c.pixel, 0xffff) + + c = gtk.gdk.Color(pixel=0xffffL) + self.assertEqual(c.pixel, 0xffff) + + c = gtk.gdk.Color(pixel=0xffffffffL) + self.assertEqual(c.pixel, 0xffffffffL) + def testUIntArg(self): child = gtk.DrawingArea() table = gtk.Table(2, 2, False) diff --git a/tests/test_enum.py b/tests/test_enum.py index 8f02250a..f4d6bef3 100644 --- a/tests/test_enum.py +++ b/tests/test_enum.py @@ -1,24 +1,21 @@ +import pickle import unittest import warnings -from gobject import GEnum, GFlags, GObject, GType, PARAM_READWRITE +# FIXME: Do not import this from common import gobject, atk, gtk, gdk -class PObject(GObject): - __gproperties__ = { - 'enum': (gtk.WindowType, 'blurb', 'description', - gtk.WINDOW_TOPLEVEL, PARAM_READWRITE), - 'enum2': (gtk.WindowType, 'blurb', 'description', - int(gtk.WINDOW_TOPLEVEL), PARAM_READWRITE), - 'flags': (gtk.AttachOptions, 'blurb', 'description', - gtk.EXPAND, PARAM_READWRITE), - 'flags2': (gtk.AttachOptions, 'blurb', 'description', - int(gtk.EXPAND), PARAM_READWRITE), - } + +class PObject(gobject.GObject): + enum = gobject.property(type=gtk.WindowType, default=gtk.WINDOW_TOPLEVEL) + enum2 = gobject.property(type=gtk.WindowType, default=int(gtk.WINDOW_TOPLEVEL)) + flags = gobject.property(type=gtk.AttachOptions, default=gtk.EXPAND) + flags2 = gobject.property(type=gtk.AttachOptions, default=int(gtk.EXPAND)) + class EnumTest(unittest.TestCase): def testEnums(self): - self.failUnless(issubclass(GEnum, int)) + self.failUnless(issubclass(gobject.GEnum, int)) self.failUnless(isinstance(atk.LAYER_OVERLAY, atk.Layer)) self.failUnless(isinstance(atk.LAYER_OVERLAY, int)) self.failUnless('LAYER_OVERLAY' in repr(atk.LAYER_OVERLAY)) @@ -56,24 +53,24 @@ class EnumTest(unittest.TestCase): self.failUnless('WINDOW_TOPLEVEL' in repr(wtype)) def testAtkObj(self): - obj = atk.NoOpObject(GObject()) + obj = atk.NoOpObject(gobject.GObject()) self.assertEquals(obj.get_role(), atk.ROLE_INVALID) def testGParam(self): win = gtk.Window() - enums = filter(lambda x: GType.is_a(x.value_type, GEnum), + enums = filter(lambda x: gobject.GType.is_a(x.value_type, gobject.GEnum), gobject.list_properties(win)) self.failUnless(enums) enum = enums[0] self.failUnless(hasattr(enum, 'enum_class')) - self.failUnless(issubclass(enum.enum_class, GEnum)) + self.failUnless(issubclass(enum.enum_class, gobject.GEnum)) def testWeirdEnumValues(self): self.assertEquals(int(gdk.NOTHING), -1) self.assertEquals(int(gdk.BUTTON_PRESS), 4) def testParamSpec(self): - props = filter(lambda prop: GType.is_a(prop.value_type, GEnum), + props = filter(lambda prop: gobject.GType.is_a(prop.value_type, gobject.GEnum), gobject.list_properties(gtk.Window)) self.failUnless(len(props)>= 6) props = filter(lambda prop: prop.name == 'type', props) @@ -88,7 +85,7 @@ class EnumTest(unittest.TestCase): def testOutofBounds(self): val = gtk.icon_size_register('fake', 24, 24) - self.failUnless(isinstance(val, gobject.GEnum)) + self.failUnless(isinstance(val, gobject.gobject.GEnum)) self.assertEquals(int(val), 7) self.failUnless('7' in repr(val)) self.failUnless('GtkIconSize' in repr(val)) @@ -101,9 +98,17 @@ class EnumTest(unittest.TestCase): self.failUnless(isinstance(default, gtk.WindowType)) self.assertEqual(default, gtk.WINDOW_TOPLEVEL) + def testPickling(self): + values = [getattr(gtk, name) for name in dir(gtk) + if isinstance(getattr(gtk, name), gobject.gobject.GEnum)] + for protocol in range(0, pickle.HIGHEST_PROTOCOL + 1): + for value in values: + self.assertEqual(value, pickle.loads(pickle.dumps(value, protocol))) + + class FlagsTest(unittest.TestCase): def testFlags(self): - self.failUnless(issubclass(GFlags, int)) + self.failUnless(issubclass(gobject.GFlags, int)) self.failUnless(isinstance(gdk.BUTTON_PRESS_MASK, gdk.EventMask)) self.failUnless(isinstance(gdk.BUTTON_PRESS_MASK, int)) self.assertEquals(gdk.BUTTON_PRESS_MASK, 256) @@ -111,7 +116,7 @@ class FlagsTest(unittest.TestCase): self.assertNotEquals(gdk.BUTTON_PRESS_MASK, -256) self.assertNotEquals(gdk.BUTTON_PRESS_MASK, gdk.BUTTON_RELEASE_MASK) - self.assertEquals(gdk.EventMask.__bases__[0], GFlags) + self.assertEquals(gdk.EventMask.__bases__[0], gobject.GFlags) self.assertEquals(len(gdk.EventMask.__flags_values__), 22) def testComparisionWarning(self): @@ -126,7 +131,7 @@ class FlagsTest(unittest.TestCase): def testFlagOperations(self): a = gdk.BUTTON_PRESS_MASK - self.failUnless(isinstance(a, GFlags)) + self.failUnless(isinstance(a, gobject.GFlags)) self.assertEquals(a.first_value_name, 'GDK_BUTTON_PRESS_MASK') self.assertEquals(a.first_value_nick, 'button-press-mask') self.assertEquals(a.value_names, ['GDK_BUTTON_PRESS_MASK'], @@ -134,7 +139,7 @@ class FlagsTest(unittest.TestCase): self.assertEquals(a.value_nicks, ['button-press-mask'], a.value_names) b = gdk.BUTTON_PRESS_MASK | gdk.BUTTON_RELEASE_MASK - self.failUnless(isinstance(b, GFlags)) + self.failUnless(isinstance(b, gobject.GFlags)) self.assertEquals(b.first_value_name, 'GDK_BUTTON_PRESS_MASK') self.assertEquals(b.first_value_nick, 'button-press-mask') self.assertEquals(b.value_names, ['GDK_BUTTON_PRESS_MASK', @@ -144,7 +149,7 @@ class FlagsTest(unittest.TestCase): c = (gdk.BUTTON_PRESS_MASK | gdk.BUTTON_RELEASE_MASK | gdk.ENTER_NOTIFY_MASK) - self.failUnless(isinstance(c, GFlags)) + self.failUnless(isinstance(c, gobject.GFlags)) self.assertEquals(c.first_value_name, 'GDK_BUTTON_PRESS_MASK') self.assertEquals(c.first_value_nick, 'button-press-mask') self.assertEquals(c.value_names, @@ -176,8 +181,8 @@ class FlagsTest(unittest.TestCase): warnings.resetwarnings() def testParamSpec(self): - props = filter(lambda x: GType.is_a(x.value_type, GFlags), - gtk.Table.list_child_properties()) + props = filter(lambda x: gobject.GType.is_a(x.value_type, gobject.GFlags), + gtk.container_class_list_child_properties(gtk.Table)) self.failUnless(len(props) >= 2) pspec = props[0] klass = pspec.flags_class -- cgit v1.2.1