summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/gtype.py6
-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()