diff options
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/gtype.py | 6 | ||||
-rw-r--r-- | tests/test_signal.py (renamed from tests/signal.py) | 29 |
3 files changed, 30 insertions, 7 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 1c332e2..f9428f9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -2,7 +2,7 @@ tests = \ conversion.py \ enum.py \ gtype.py \ - signal.py + test_signal.py PYTHONPATH = $(top_builddir):$(top_builddir)/gobject:$(top_srcdir):$(top_srcdir)/gtk diff --git a/tests/gtype.py b/tests/gtype.py index 7001094..41da140 100644 --- a/tests/gtype.py +++ b/tests/gtype.py @@ -50,12 +50,6 @@ class GTypeTest(unittest.TestCase): def testObject(self): self.checkType(gobject.TYPE_OBJECT, 'PyObject') - def testGObjectInvalidSignalOverride(self): - class Foo(gobject.GObject): - __gsignals__ = {} - __gsignals__['monkey'] = 'override' - self.assertRaises(TypeError, gobject.type_register, Foo) - # XXX: Flags, Enums if __name__ == '__main__': diff --git a/tests/signal.py b/tests/test_signal.py index 65eda26..b4a6cdc 100644 --- a/tests/signal.py +++ b/tests/test_signal.py @@ -1,5 +1,6 @@ # -*- Mode: Python -*- +import gc import unittest from common import gobject @@ -42,5 +43,33 @@ class TestChaining(unittest.TestCase): assert inst2.arg == 44 assert inst2.arg2 == 44 +# This is for bug 153718 +class TestGSignalsError(unittest.TestCase): + def testInvalidType(self, *args): + class Foo(gobject.GObject): + __gsignals__ = None + self.assertRaises(TypeError, gobject.type_register, Foo) + gc.collect() + + def testInvalidName(self, *args): + class Foo(gobject.GObject): + __gsignals__ = {'not-exists' : 'override'} + self.assertRaises(TypeError, gobject.type_register, Foo) + gc.collect() + +class TestGPropertyError(unittest.TestCase): + def testInvalidType(self, *args): + class Foo(gobject.GObject): + __gproperties__ = None + self.assertRaises(TypeError, gobject.type_register, Foo) + gc.collect() + + def testInvalidName(self, *args): + class Foo(gobject.GObject): + __gproperties__ = { None: None } + + self.assertRaises(TypeError, gobject.type_register, Foo) + gc.collect() + if __name__ == '__main__': unittest.main() |