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 | |
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.
-rw-r--r-- | gobject/.cvsignore | 6 | ||||
-rw-r--r-- | gobject/Makefile.am | 27 | ||||
-rw-r--r-- | tests/common.py | 4 | ||||
-rw-r--r-- | tests/enum.py | 91 |
4 files changed, 126 insertions, 2 deletions
diff --git a/gobject/.cvsignore b/gobject/.cvsignore new file mode 100644 index 0000000..6e5ca7e --- /dev/null +++ b/gobject/.cvsignore @@ -0,0 +1,6 @@ +Makefile +Makefile.in +.deps +.libs +*.lo +*.la diff --git a/gobject/Makefile.am b/gobject/Makefile.am new file mode 100644 index 0000000..ed74b42 --- /dev/null +++ b/gobject/Makefile.am @@ -0,0 +1,27 @@ +AUTOMAKE_OPTIONS = 1.7 +INCLUDES = $(PYTHON_INCLUDES) $(GLIB_CFLAGS) + +pkgincludedir = $(includedir)/pygtk-2.0 +pkginclude_HEADERS = pygobject.h + +pkgpyexecdir = $(pyexecdir)/gtk-2.0 +pkgpyexec_LTLIBRARIES = gobject.la + +common_ldflags = -module -avoid-version +if PLATFORM_WIN32 +common_ldflags += -no-undefined +endif + +gobject_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initgobject +gobject_la_LIBADD = $(GLIB_LIBS) +gobject_la_SOURCES = \ + gobjectmodule.c \ + pygboxed.c \ + pygenum.c \ + pygenum.h \ + pygflags.c \ + pygflags.h \ + pygobject.c \ + pygobject.h \ + pygobject-private.h \ + pygtype.c diff --git a/tests/common.py b/tests/common.py index ff2eef9..d65fb3b 100644 --- a/tests/common.py +++ b/tests/common.py @@ -2,9 +2,9 @@ import os import sys # Don't insert before . (first in list) -sys.path.insert(1, os.path.join('..')) +sys.path.insert(1, os.path.join('../gobject/.libs')) +sys.path.insert(1, os.path.join('../gtk/.libs')) -path = os.path.abspath(os.path.join('..', 'gtk')) import gobject import atk import pango 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() |