aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/qtcore/qabstracttransition_test.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/qtcore/qabstracttransition_test.py b/tests/qtcore/qabstracttransition_test.py
index d7e7f0738..a45a7d824 100644
--- a/tests/qtcore/qabstracttransition_test.py
+++ b/tests/qtcore/qabstracttransition_test.py
@@ -1,6 +1,8 @@
#!/usr/bin/python
import unittest
-from PySide.QtCore import QObject, QState, QFinalState, SIGNAL, QCoreApplication, QTimer, QStateMachine, QSignalTransition, QVariant, QParallelAnimationGroup
+from sys import getrefcount
+from PySide.QtCore import QObject, SIGNAL, QCoreApplication, QTimer, QVariant
+from PySide.QtCore import QState, QFinalState, QStateMachine, QParallelAnimationGroup, QEventTransition
def addStates(transition):
sx = QState()
@@ -47,5 +49,24 @@ class QAbstractTransitionTest(unittest.TestCase):
QTimer.singleShot(100, app.quit)
app.exec_()
+ def testRefCountOfTargetState(self):
+ transition = QEventTransition()
+ state1 = QState()
+ refcount1 = getrefcount(state1)
+ transition.setTargetState(state1)
+ self.assertEqual(transition.targetState(), state1)
+ self.assertEqual(getrefcount(transition.targetState()), refcount1 + 1)
+
+ state2 = QState()
+ refcount2 = getrefcount(state2)
+ transition.setTargetState(state2)
+ self.assertEqual(transition.targetState(), state2)
+ self.assertEqual(getrefcount(transition.targetState()), refcount2 + 1)
+ self.assertEqual(getrefcount(state1), refcount1)
+
+ del transition
+ self.assertEqual(getrefcount(state2), refcount2)
+
if __name__ == '__main__':
unittest.main()
+