diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-10-07 17:25:56 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-10-11 17:47:03 -0300 |
commit | 7fab5c03a94a24f6496ad129485244f7d6f4f994 (patch) | |
tree | a2acc73a45ad9595cfff1726600c257785b6a8a7 /tests/pysidetest/homonymoussignalandmethod_test.py | |
parent | 4b3b56acd7caaa7ff0d9c7b913cfe73db12afd4a (diff) |
Signal objects redirect calls for homonymous methods.
Diffstat (limited to 'tests/pysidetest/homonymoussignalandmethod_test.py')
-rw-r--r-- | tests/pysidetest/homonymoussignalandmethod_test.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/pysidetest/homonymoussignalandmethod_test.py b/tests/pysidetest/homonymoussignalandmethod_test.py new file mode 100644 index 000000000..4850c5bc3 --- /dev/null +++ b/tests/pysidetest/homonymoussignalandmethod_test.py @@ -0,0 +1,53 @@ +#!/usr/bin/python + +import unittest +from testbinding import TestObject + +'''Tests the behaviour of homonymous signals and slots.''' + +class HomonymousSignalAndMethodTest(unittest.TestCase): + + def setUp(self): + self.value = 123 + self.called = False + self.obj = TestObject(self.value) + + def tearDown(self): + del self.value + del self.called + del self.obj + + def testIdValueSignalEmission(self): + def callback(idValue): + self.assertEqual(idValue, self.value) + self.obj.idValue.connect(callback) + self.obj.emitIdValueSignal() + + def testStaticMethodDoubleSignalEmission(self): + def callback(): + self.called = True + self.obj.staticMethodDouble.connect(callback) + self.obj.emitStaticMethodDoubleSignal() + self.assert_(self.called) + + def testSignalNotCallable(self): + self.assertRaises(TypeError, self.obj.justASignal) + + def testCallingInstanceMethodWithArguments(self): + self.assertRaises(TypeError, TestObject.idValue, 1) + + def testCallingInstanceMethodWithoutArguments(self): + self.assertRaises(TypeError, TestObject.idValue) + + def testHomonymousSignalAndMethod(self): + self.assertEqual(self.obj.idValue(), self.value) + + def testHomonymousSignalAndStaticMethod(self): + self.assertEqual(TestObject.staticMethodDouble(3), 6) + + def testHomonymousSignalAndStaticMethodFromInstance(self): + self.assertEqual(self.obj.staticMethodDouble(4), 8) + +if __name__ == '__main__': + unittest.main() + |