From 98e8f5d07b21abe3b89667124858db5bc607e7c9 Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Sat, 25 Sep 2004 17:29:17 +0000 Subject: Move some tests from gtype and rename from signal.py * tests/test_signal.py: Move some tests from gtype and rename from signal.py --- tests/Makefile.am | 2 +- tests/gtype.py | 6 ----- tests/signal.py | 46 -------------------------------- tests/test_signal.py | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 53 deletions(-) delete mode 100644 tests/signal.py create mode 100644 tests/test_signal.py 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/signal.py deleted file mode 100644 index 65eda26..0000000 --- a/tests/signal.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- Mode: Python -*- - -import unittest - -from common import gobject - -class C(gobject.GObject): - __gsignals__ = { 'my_signal': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - (gobject.TYPE_INT,)) } - def do_my_signal(self, arg): - self.arg = arg -gobject.type_register(C) - -class D(C): - def do_my_signal(self, arg2): - self.arg2 = arg2 - C.do_my_signal(self, arg2) -gobject.type_register(D) - -class TestChaining(unittest.TestCase): - def setUp(self): - self.inst = C() - self.inst.connect("my_signal", self.my_signal_handler_cb, 1, 2, 3) - - def my_signal_handler_cb(self, *args): - assert len(args) == 5 - assert isinstance(args[0], C) - assert args[0] == self.inst - - assert isinstance(args[1], int) - assert args[1] == 42 - - assert args[2:] == (1, 2, 3) - - def testChaining(self): - self.inst.emit("my_signal", 42) - assert self.inst.arg == 42 - - def testChaining(self): - inst2 = D() - inst2.emit("my_signal", 44) - assert inst2.arg == 44 - assert inst2.arg2 == 44 - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_signal.py b/tests/test_signal.py new file mode 100644 index 0000000..b4a6cdc --- /dev/null +++ b/tests/test_signal.py @@ -0,0 +1,75 @@ +# -*- Mode: Python -*- + +import gc +import unittest + +from common import gobject + +class C(gobject.GObject): + __gsignals__ = { 'my_signal': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, + (gobject.TYPE_INT,)) } + def do_my_signal(self, arg): + self.arg = arg +gobject.type_register(C) + +class D(C): + def do_my_signal(self, arg2): + self.arg2 = arg2 + C.do_my_signal(self, arg2) +gobject.type_register(D) + +class TestChaining(unittest.TestCase): + def setUp(self): + self.inst = C() + self.inst.connect("my_signal", self.my_signal_handler_cb, 1, 2, 3) + + def my_signal_handler_cb(self, *args): + assert len(args) == 5 + assert isinstance(args[0], C) + assert args[0] == self.inst + + assert isinstance(args[1], int) + assert args[1] == 42 + + assert args[2:] == (1, 2, 3) + + def testChaining(self): + self.inst.emit("my_signal", 42) + assert self.inst.arg == 42 + + def testChaining(self): + inst2 = D() + inst2.emit("my_signal", 44) + 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() -- cgit