diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2020-08-06 11:12:35 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2020-08-19 15:16:43 +0200 |
commit | f3a64b13725081eb94b05dbeb5f68a2298c9163e (patch) | |
tree | 03a48c5f4e419b0f00c809bef399d7a03bdd56a3 /tests | |
parent | 1a5a0a591c35dcf498a232a802087683f2244ecb (diff) |
SwipeDelegate: don't emit closed() when already closed
If the mouse is released while our position is 0, it means we were
clicked, and we don't need to begin any transitions to close.
Fixes: QTBUG-85806
Pick-to: 5.15
Change-Id: Ic521f48e2977c1a99dbecaa585792a7798b9d749
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/controls/data/tst_swipedelegate.qml | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/auto/controls/data/tst_swipedelegate.qml b/tests/auto/controls/data/tst_swipedelegate.qml index 71eb0b99..e5221b54 100644 --- a/tests/auto/controls/data/tst_swipedelegate.qml +++ b/tests/auto/controls/data/tst_swipedelegate.qml @@ -196,7 +196,8 @@ TestCase { mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton); mouseMove(control, control.width / 2 + distance, control.height / 2); mouseRelease(control, control.width / 2 + distance, control.height / 2, Qt.LeftButton); - compare(control.swipe.position, to); + compare(control.swipe.position, to, "Expected swipe.position to be " + to + + " after swiping from " + from + ", but it's " + control.swipe.position); if (control.swipe.position === -1.0) { if (control.swipe.right) @@ -1110,6 +1111,24 @@ TestCase { swipe(control, 0.0, -1.0); } + function test_callCloseWhenAlreadyClosed() { + let control = createTemporaryObject(swipeDelegateComponent, testCase) + verify(control) + + let closedSpy = signalSpyComponent.createObject(control, { target: control.swipe, signalName: "closed" }) + verify(closedSpy) + verify(closedSpy.valid) + + // Calling close() when it's already closed should have no effect. + control.swipe.close() + compare(closedSpy.count, 0) + + // The game goes for calling close() in response to a click. + control.clicked.connect(function() { control.swipe.close() }) + mouseClick(control) + compare(closedSpy.count, 0) + } + Component { id: multiActionSwipeDelegateComponent |