From fa6756f52b368270b6e8e0ee4adb499a2afd5499 Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Wed, 17 Feb 2010 17:54:31 -0300 Subject: Fixes type system for QAbstractTransition.setTargetState. And also for QAbstractTransition.targetState method. The test cases for it were expanded. --- tests/qtcore/qabstracttransition_test.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'tests') 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() + -- cgit v1.2.3