diff options
author | Lauro Neto <lauro.neto@openbossa.org> | 2009-12-22 20:22:53 -0300 |
---|---|---|
committer | Lauro Neto <lauro.neto@openbossa.org> | 2010-01-04 20:01:48 -0300 |
commit | 33c837a48d5183bf7a6b1b4061fbb7a15d33114a (patch) | |
tree | 10346aae3b54db9b0ea6a16f2bc883775e5bd332 /tests/signals/lambda_gui_test.py | |
parent | 359c973b425db0c27675add1a330734bbd7d8dbd (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.py | 38 |
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() |