[pygtk] Bug 613341 - pygobject tests seem to require pygtk causing a circular dependencies problem



commit 48f0a43f2faffee931ba419dac2687a93344bf5a
Author: Gian Mario Tagliaretti <gianmt gnome org>
Date:   Mon Apr 5 18:12:05 2010 +0200

    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(-)
---
diff --git a/tests/test_conversion.py b/tests/test_conversion.py
index 2642d11..30d29df 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 8f02250..f4d6bef 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]