aboutsummaryrefslogtreecommitdiffstats
path: root/tests/signals/lambda_gui_test.py
diff options
context:
space:
mode:
authorLauro Neto <lauro.neto@openbossa.org>2009-12-22 20:22:53 -0300
committerLauro Neto <lauro.neto@openbossa.org>2010-01-04 20:01:48 -0300
commit33c837a48d5183bf7a6b1b4061fbb7a15d33114a (patch)
tree10346aae3b54db9b0ea6a16f2bc883775e5bd332 /tests/signals/lambda_gui_test.py
parent359c973b425db0c27675add1a330734bbd7d8dbd (diff)
Split signal tests into gui and core tests
Can't use a QApplication and a QCoreApplication in the same process
Diffstat (limited to 'tests/signals/lambda_gui_test.py')
-rw-r--r--tests/signals/lambda_gui_test.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/signals/lambda_gui_test.py b/tests/signals/lambda_gui_test.py
new file mode 100644
index 000000000..b23f40bfc
--- /dev/null
+++ b/tests/signals/lambda_gui_test.py
@@ -0,0 +1,38 @@
+
+'''Connecting lambda to gui signals'''
+
+import unittest
+
+from PySide.QtCore import QObject, SIGNAL
+
+try:
+ from PySide.QtGui import QSpinBox, QPushButton
+except ImportError:
+ pass
+
+from helper import UsesQApplication
+from helper import decorators
+
+
+@decorators.requires('PySide.QtGui')
+class QtGuiSigLambda(UsesQApplication):
+
+ def testButton(self):
+ #Connecting a lambda to a QPushButton.clicked()
+ obj = QPushButton('label')
+ QObject.connect(obj, SIGNAL('clicked()'),
+ lambda: setattr(obj, 'called', True))
+ obj.click()
+ self.assert_(obj.called)
+
+ def testSpinButton(self):
+ #Connecting a lambda to a QPushButton.clicked()
+ obj = QSpinBox()
+ arg = 444
+ QObject.connect(obj, SIGNAL('valueChanged(int)'),
+ lambda x: setattr(obj, 'arg', 444))
+ obj.setValue(444)
+ self.assertEqual(obj.arg, arg)
+
+if __name__ == '__main__':
+ unittest.main()