diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-08-26 17:53:41 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-08-27 14:04:11 +0000 |
commit | 4a6292afc8609c2b51a53ba52ff14adcfc0833fa (patch) | |
tree | 28d24918710c6dad92d369be1c9a8179a16b9303 /tests/auto/controls | |
parent | 162ae5c4a7ffa45f63911801a094fe049750cdc3 (diff) |
StackView: fix transitions
Passing null view bounds for the transitionable exit item helps to kick
off the transition as appropriate. Otherwise the view transition item
determines in QQuickItemViewTransitionableItem::prepareTransition()
that no transition is necessary.
Change-Id: Icb664725c4393ef3bb894b71a5912652f82c9da0
Task-number: QTBUG-47949
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'tests/auto/controls')
-rw-r--r-- | tests/auto/controls/data/tst_stackview.qml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_stackview.qml b/tests/auto/controls/data/tst_stackview.qml index 3c54e60b..3a26b423 100644 --- a/tests/auto/controls/data/tst_stackview.qml +++ b/tests/auto/controls/data/tst_stackview.qml @@ -428,4 +428,51 @@ TestCase { control.destroy() } + + Component { + id: transitionView + StackView { + property int popEnterRuns + property int popExitRuns + property int pushEnterRuns + property int pushExitRuns + popEnter: Transition { + PauseAnimation { duration: 1 } + onRunningChanged: if (!running) ++popEnterRuns + } + popExit: Transition { + PauseAnimation { duration: 1 } + onRunningChanged: if (!running) ++popExitRuns + } + pushEnter: Transition { + PauseAnimation { duration: 1 } + onRunningChanged: if (!running) ++pushEnterRuns + } + pushExit: Transition { + PauseAnimation { duration: 1 } + onRunningChanged: if (!running) ++pushExitRuns + } + } + } + + function test_transitions() { + var control = transitionView.createObject(testCase) + + control.push(component) + verify(!control.busy) + compare(control.pushEnterRuns, 0) + compare(control.pushExitRuns, 0) + + control.push(component) + tryCompare(control, "busy", false) + compare(control.pushEnterRuns, 1) + compare(control.pushExitRuns, 1) + + control.pop() + tryCompare(control, "busy", false) + compare(control.popEnterRuns, 1) + compare(control.popExitRuns, 1) + + control.destroy() + } } |