diff options
Diffstat (limited to 'tests/QtCore/qstate_test.py')
-rw-r--r-- | tests/QtCore/qstate_test.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/QtCore/qstate_test.py b/tests/QtCore/qstate_test.py new file mode 100644 index 000000000..d7c9a4c44 --- /dev/null +++ b/tests/QtCore/qstate_test.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +import unittest +from PySide.QtCore import QObject, QState, QFinalState, SIGNAL, QCoreApplication, QTimer, QStateMachine, QSignalTransition, QVariant + + +class QStateTest(unittest.TestCase): + def testBasic(self): + app = QCoreApplication([]) + + o = QObject() + o.setProperty("text", QVariant("INdT")) + + machine = QStateMachine() + s1 = QState() + s1.assignProperty(o, "text", QVariant("Rocks")); + + s2 = QFinalState() + t = s1.addTransition(o, SIGNAL("change()"), s2); + self.assert_(isinstance(t, QSignalTransition)) + + machine.addState(s1) + machine.addState(s2) + machine.setInitialState(s1) + machine.start() + + o.emit(SIGNAL("change()")) + + QTimer.singleShot(100, app.quit) + app.exec_() + + txt = o.property("text").toString() + self.assert_(txt, "Rocks") + +if __name__ == '__main__': + unittest.main() |