diff options
Diffstat (limited to 'tests/test_enum.py')
-rw-r--r-- | tests/test_enum.py | 234 |
1 files changed, 0 insertions, 234 deletions
diff --git a/tests/test_enum.py b/tests/test_enum.py deleted file mode 100644 index f4d6bef..0000000 --- a/tests/test_enum.py +++ /dev/null @@ -1,234 +0,0 @@ -import pickle -import unittest -import warnings - -# FIXME: Do not import this -from common import gobject, atk, gtk, gdk - - -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(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)) - self.failUnless(int(atk.LAYER_OVERLAY)) - self.assertEquals(atk.LAYER_INVALID, 0) - self.assertNotEquals(atk.LAYER_INVALID, 1) - self.assertNotEquals(atk.LAYER_INVALID, -1) - self.assertNotEquals(atk.LAYER_INVALID, atk.LAYER_BACKGROUND) - - def testComparisionWarning(self): - warnings.filterwarnings("error", "", Warning, "", 0) - try: - self.assertNotEquals(atk.LAYER_INVALID, atk.RELATION_NULL) - except Warning: - pass - else: - raise AssertionError - warnings.resetwarnings() - - def testWindowGetState(self): - win = gtk.Window() - win.realize() - - state = win.window.get_state() - self.assertEquals(state, gdk.WINDOW_STATE_WITHDRAWN) - self.failUnless(isinstance(state, gdk.WindowState)) - self.failUnless('WINDOW_STATE_WITHDRAWN' in repr(state)) - - def testProperty(self): - win = gtk.Window() - - wtype = win.get_property('type') - self.assertEquals(wtype, gtk.WINDOW_TOPLEVEL) - self.failUnless(isinstance(wtype, gtk.WindowType)) - self.failUnless('WINDOW_TOPLEVEL' in repr(wtype)) - - def testAtkObj(self): - obj = atk.NoOpObject(gobject.GObject()) - self.assertEquals(obj.get_role(), atk.ROLE_INVALID) - - def testGParam(self): - win = gtk.Window() - 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, 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: 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) - self.failUnless(props) - pspec = props[0] - klass = pspec.enum_class - self.assertEquals(klass, gtk.WindowType) - self.failUnless(hasattr(klass, '__enum_values__')) - self.failUnless(isinstance(klass.__enum_values__, dict)) - self.failUnless(len(klass.__enum_values__) >= 2) - self.failUnless(isinstance(pspec.default_value, gtk.WindowType)) - - def testOutofBounds(self): - val = gtk.icon_size_register('fake', 24, 24) - self.failUnless(isinstance(val, gobject.gobject.GEnum)) - self.assertEquals(int(val), 7) - self.failUnless('7' in repr(val)) - self.failUnless('GtkIconSize' in repr(val)) - - def testEnumProperty(self): - default = PObject.props.enum.default_value - self.failUnless(isinstance(default, gtk.WindowType)) - self.assertEqual(default, gtk.WINDOW_TOPLEVEL) - default = PObject.props.enum2.default_value - 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(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) - self.assertNotEquals(gdk.BUTTON_PRESS_MASK, 0) - self.assertNotEquals(gdk.BUTTON_PRESS_MASK, -256) - self.assertNotEquals(gdk.BUTTON_PRESS_MASK, gdk.BUTTON_RELEASE_MASK) - - self.assertEquals(gdk.EventMask.__bases__[0], gobject.GFlags) - self.assertEquals(len(gdk.EventMask.__flags_values__), 22) - - def testComparisionWarning(self): - warnings.filterwarnings("error", "", Warning, "", 0) - try: - self.assertNotEquals(gtk.ACCEL_VISIBLE, gtk.EXPAND) - except Warning: - pass - else: - raise AssertionError - warnings.resetwarnings() - - def testFlagOperations(self): - a = gdk.BUTTON_PRESS_MASK - 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'], - a.value_names) - self.assertEquals(a.value_nicks, ['button-press-mask'], - a.value_names) - b = gdk.BUTTON_PRESS_MASK | gdk.BUTTON_RELEASE_MASK - 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', - 'GDK_BUTTON_RELEASE_MASK']) - self.assertEquals(b.value_nicks, ['button-press-mask', - 'button-release-mask']) - c = (gdk.BUTTON_PRESS_MASK | - gdk.BUTTON_RELEASE_MASK | - gdk.ENTER_NOTIFY_MASK) - 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, - ['GDK_BUTTON_PRESS_MASK', - 'GDK_BUTTON_RELEASE_MASK', - 'GDK_ENTER_NOTIFY_MASK']) - self.assertEquals(c.value_nicks, - ['button-press-mask', - 'button-release-mask', - 'enter-notify-mask']) - self.failUnless(int(a)) - self.assertEquals(int(a), int(gdk.BUTTON_PRESS_MASK)) - self.failUnless(int(b)) - self.assertEquals(int(b), (int(gdk.BUTTON_PRESS_MASK) | - int(gdk.BUTTON_RELEASE_MASK))) - self.failUnless(int(c)) - self.assertEquals(int(c), (int(gdk.BUTTON_PRESS_MASK) | - int(gdk.BUTTON_RELEASE_MASK) | - int(gdk.ENTER_NOTIFY_MASK))) - - def testUnsupportedOpertionWarning(self): - warnings.filterwarnings("error", "", Warning, "", 0) - try: - value = gdk.BUTTON_PRESS_MASK + gdk.BUTTON_RELEASE_MASK - except Warning: - pass - else: - raise AssertionError - warnings.resetwarnings() - - def testParamSpec(self): - 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 - self.assertEquals(klass, gtk.AttachOptions) - self.failUnless(hasattr(klass, '__flags_values__')) - self.failUnless(isinstance(klass.__flags_values__, dict)) - self.failUnless(len(klass.__flags_values__) >= 3) - self.failUnless(isinstance(pspec.default_value, gtk.AttachOptions)) - - def testEnumComparision(self): - enum = gtk.TREE_VIEW_DROP_BEFORE - self.assertEquals(enum, 0) - self.failUnless(not enum == 10) - self.failUnless(not enum != 0) - self.assertNotEquals(enum, 10) - self.failUnless(not enum < 0) - self.failUnless(enum < 10) - self.failUnless(not enum > 0) - self.failUnless(not enum > 10) - self.failUnless(enum >= 0) - self.failUnless(not enum >= 10) - self.failUnless(enum <= 0) - self.failUnless(enum <= 10) - - def testFlagComparision(self): - flag = gdk.EXPOSURE_MASK - self.assertEquals(flag, 2) - self.failUnless(not flag == 10) - self.failUnless(not flag != 2) - self.assertNotEquals(flag, 10) - self.failUnless(not flag < 2) - self.failUnless(flag < 10) - self.failUnless(not flag > 2) - self.failUnless(not flag > 10) - self.failUnless(flag >= 2) - self.failUnless(not flag >= 10) - self.failUnless(flag <= 2) - self.failUnless(flag <= 10) - - def testFlagsProperty(self): - default = PObject.props.flags.default_value - self.failUnless(isinstance(default, gtk.AttachOptions)) - self.assertEqual(default, gtk.EXPAND) - default = PObject.props.flags2.default_value - self.failUnless(isinstance(default, gtk.AttachOptions)) - self.assertEqual(default, gtk.EXPAND) - -if __name__ == '__main__': - unittest.main() |