diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-01-20 15:57:48 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:51:47 -0300 |
commit | da8c292b69c53f0a16bc405ed590ce5d4ecacf9b (patch) | |
tree | be75a999617280c72a94f22517788c9957c8834a /tests/pysidetest/signalemissionfrompython_test.py | |
parent | 4a2bfc9239c13272478185ce056e481d7aa1106b (diff) |
Added test cases for signal emission.
Signals are emitted from C++ and Python.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Lauro Moura <lauro.neto@openbossa.org>
Diffstat (limited to 'tests/pysidetest/signalemissionfrompython_test.py')
-rw-r--r-- | tests/pysidetest/signalemissionfrompython_test.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tests/pysidetest/signalemissionfrompython_test.py b/tests/pysidetest/signalemissionfrompython_test.py new file mode 100644 index 000000000..9d130cb4a --- /dev/null +++ b/tests/pysidetest/signalemissionfrompython_test.py @@ -0,0 +1,79 @@ +#!/usr/bin/python + +import unittest +from testbinding import TestObject +from PySide.QtCore import QObject, SIGNAL + +'''Tests the behaviour of signals with default values when emitted from Python.''' + +class SignalEmissionFromPython(unittest.TestCase): + + def setUp(self): + self.obj1 = TestObject(0) + self.obj2 = TestObject(0) + self.one_called = 0 + self.two_called = 0 + + def tearDown(self): + del self.obj1 + del self.obj2 + del self.one_called + del self.two_called + + def testConnectNewStyleEmitVoidSignal(self): + def callbackOne(): + self.one_called += 1 + self.obj2.signalWithDefaultValue.emit() + def callbackTwo(): + self.two_called += 1 + self.obj1.signalWithDefaultValue.connect(callbackOne) + self.obj2.signalWithDefaultValue.connect(callbackTwo) + self.obj1.emitSignalWithDefaultValue_void() + self.obj2.emitSignalWithDefaultValue_void() + self.assertEqual(self.one_called, 1) + self.assertEqual(self.two_called, 2) + + def testConnectOldStyleEmitVoidSignal(self): + def callbackOne(): + self.one_called += 1 + self.obj2.signalWithDefaultValue.emit() + def callbackTwo(): + self.two_called += 1 + QObject.connect(self.obj1, SIGNAL('signalWithDefaultValue()'), callbackOne) + QObject.connect(self.obj2, SIGNAL('signalWithDefaultValue()'), callbackTwo) + self.obj1.emitSignalWithDefaultValue_void() + self.obj2.emitSignalWithDefaultValue_void() + self.assertEqual(self.one_called, 1) + self.assertEqual(self.two_called, 2) + + def testConnectNewStyleEmitBoolSignal(self): + def callbackOne(): + self.one_called += 1 + self.obj2.signalWithDefaultValue[bool].emit(True) + def callbackTwo(): + self.two_called += 1 + self.obj1.signalWithDefaultValue.connect(callbackOne) + self.obj2.signalWithDefaultValue.connect(callbackTwo) + self.obj1.emitSignalWithDefaultValue_void() + self.obj2.emitSignalWithDefaultValue_void() + self.assertEqual(self.one_called, 1) + self.assertEqual(self.two_called, 2) + + def testConnectOldStyleEmitBoolSignal(self): + def callbackOne(): + self.one_called += 1 + self.obj2.signalWithDefaultValue[bool].emit(True) + def callbackTwo(): + self.two_called += 1 + QObject.connect(self.obj1, SIGNAL('signalWithDefaultValue()'), callbackOne) + QObject.connect(self.obj2, SIGNAL('signalWithDefaultValue()'), callbackTwo) + self.obj1.emitSignalWithDefaultValue_void() + self.obj2.emitSignalWithDefaultValue_void() + self.assertEqual(self.one_called, 1) + self.assertEqual(self.two_called, 2) + + + +if __name__ == '__main__': + unittest.main() + |