aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtCore/qstate_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QtCore/qstate_test.py')
-rw-r--r--tests/QtCore/qstate_test.py35
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()