diff options
author | Johan Dahlin <johan@src.gnome.org> | 2004-07-17 17:54:50 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2004-07-17 17:54:50 +0000 |
commit | 3b9951be52eeac3d76755808eafcdca864bc4e74 (patch) | |
tree | 7a40bd036937dc76445771fdaaeadbac3ffd2541 /tests/enum.py | |
parent | b889f44c6adeaf10d5e1ae0a2e69ef5ee218ccad (diff) | |
download | pygobject-3b9951be52eeac3d76755808eafcdca864bc4e74.tar.gz pygobject-3b9951be52eeac3d76755808eafcdca864bc4e74.tar.xz pygobject-3b9951be52eeac3d76755808eafcdca864bc4e74.zip |
add, forgot it in last commit
* tests/enum.py: add, forgot it in last commit
* gobject/: Move gobject source files in here.
Diffstat (limited to 'tests/enum.py')
-rw-r--r-- | tests/enum.py | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/tests/enum.py b/tests/enum.py new file mode 100644 index 0000000..c1665a8 --- /dev/null +++ b/tests/enum.py @@ -0,0 +1,91 @@ +import unittest +import warnings + +from common import gobject, atk, pango, gtk, gdk + +class EnumTest(unittest.TestCase): + def testEnums(self): + assert issubclass(gobject.GEnum, int) + assert isinstance(atk.LAYER_OVERLAY, atk.Layer) + assert isinstance(atk.LAYER_OVERLAY, int) + assert 'LAYER_OVERLAY' in repr(atk.LAYER_OVERLAY) + assert int(atk.LAYER_OVERLAY) + warnings.filterwarnings("error", "", Warning, "", 0) + try: + assert atk.LAYER_INVALID != atk.RELATION_NULL + except Warning: + pass + else: + raise AssertionError + warnings.resetwarnings() + assert atk.LAYER_INVALID == 0 + assert atk.LAYER_INVALID != 1 + assert atk.LAYER_INVALID != -1 + assert atk.LAYER_INVALID != atk.LAYER_BACKGROUND + + def testWindowGetState(self): + # Usage through properties/external methods + win = gtk.Window() + win.realize() + + state = win.window.get_state() + assert state == gdk.WINDOW_STATE_ICONIFIED + assert isinstance(state, gdk.WindowState) + assert 'WINDOW_STATE_ICONIFIED' in repr(state) + + def testProperty(self): + win = gtk.Window() + + wtype = win.get_property('type') + assert wtype == gtk.WINDOW_TOPLEVEL + assert isinstance(wtype, gtk.WindowType) + assert 'WINDOW_TOPLEVEL' in repr(wtype) + + def testAtkObj(self): + obj = atk.NoOpObject(gobject.GObject()) + assert obj.get_role() == atk.ROLE_INVALID + +class FlagsTest(unittest.TestCase): + def testFlags(self): + assert issubclass(gobject.GFlags, int) + assert isinstance(gdk.BUTTON_PRESS_MASK, gdk.EventMask) + assert isinstance(gdk.BUTTON_PRESS_MASK, int) + warnings.filterwarnings("error", "", Warning, "", 0) + try: + assert gtk.ACCEL_VISIBLE != gtk.EXPAND + except Warning: + pass + else: + raise AssertionError + warnings.resetwarnings() + assert gdk.BUTTON_PRESS_MASK == 256 + assert gdk.BUTTON_PRESS_MASK != 0 + assert gdk.BUTTON_PRESS_MASK != -256 + assert gdk.BUTTON_PRESS_MASK != gdk.BUTTON_RELEASE_MASK + + assert gdk.EventMask.__bases__[0] == gobject.GFlags + assert len(gdk.EventMask.__flags_values__) == 22 + a = gdk.BUTTON_PRESS_MASK + b = gdk.BUTTON_PRESS_MASK | gdk.BUTTON_RELEASE_MASK + c = gdk.BUTTON_PRESS_MASK | gdk.BUTTON_RELEASE_MASK | gdk.ENTER_NOTIFY_MASK + assert int(a) + assert int(a) == int(gdk.BUTTON_PRESS_MASK) + assert int(b) + assert int(b) == (int(gdk.BUTTON_PRESS_MASK) | + int(gdk.BUTTON_RELEASE_MASK)) + assert int(c) + assert int(c) == (int(gdk.BUTTON_PRESS_MASK) | + int(gdk.BUTTON_RELEASE_MASK) | + int(gdk.ENTER_NOTIFY_MASK)) + + warnings.filterwarnings("error", "", Warning, "", 0) + try: + value = gdk.BUTTON_PRESS_MASK + gdk.BUTTON_RELEASE_MASK + except Warning: + pass + else: + raise AssertionError + warnings.resetwarnings() + +if __name__ == '__main__': + unittest.main() |