diff options
author | Caroline Chao <caroline.chao@theqtcompany.com> | 2015-02-27 12:11:58 +0100 |
---|---|---|
committer | Caroline Chao <caroline.chao@theqtcompany.com> | 2015-03-02 11:45:35 +0000 |
commit | 726eaaeeeede086ed341899b8ee0c1570e6bf6f5 (patch) | |
tree | b3880ee109108fb11299a70ac701e6bf1915b3be /tests/auto | |
parent | 09e903e0743b3d3d58c31621b368ea317140b0f2 (diff) |
testlib: Introduce MouseDoubleClickSequence() method
The existing method MouseDoubleClick() emulates the mouse
double click event only.
The added method MouseDoubleClickSequence() emulates the full
sequence of mouse events a physical double-click would generate:
Press-Release-Press-DoubleClick-Release
Introducing a new method in order to provide convenience when a
test requires to simulate a complete double-click action without
changing the behavior of MouseDoubleClick() and risking to break
existing tests.
Add autotest.
Task-number: QTBUG-42185
Change-Id: I1cdddd9e21d3b1d8a818f6d4e3717b06b7d70e08
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qmltest/events/tst_events.qml | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/qmltest/events/tst_events.qml b/tests/auto/qmltest/events/tst_events.qml index b9bc78be21..8a08d7dd2b 100644 --- a/tests/auto/qmltest/events/tst_events.qml +++ b/tests/auto/qmltest/events/tst_events.qml @@ -53,10 +53,28 @@ Rectangle { property bool mouseHasBeenClicked: false + signal doubleClickSignalHelper(string eventType) + + SignalSpy { + id: doubleClickSpy + target: top + signalName: "doubleClickSignalHelper" + } + MouseArea { anchors.fill: parent onClicked: { mouseHasBeenClicked = true + doubleClickSignalHelper("clicked") + } + onPressed: { + doubleClickSignalHelper("pressed") + } + onReleased: { + doubleClickSignalHelper("released") + } + onDoubleClicked: { + doubleClickSignalHelper("doubleClick") } } @@ -75,5 +93,22 @@ Rectangle { mouseClick(top, 25, 30) tryCompare(top, "mouseHasBeenClicked", true, 10000) } + + function test_mouse_doubleclick() { + doubleClickSpy.clear() + mouseDoubleClickSequence(top, 25, 30) + compare(doubleClickSpy.count, 6) + compare(doubleClickSpy.signalArguments[0][0], "pressed") + compare(doubleClickSpy.signalArguments[1][0], "released") + compare(doubleClickSpy.signalArguments[2][0], "clicked") + compare(doubleClickSpy.signalArguments[3][0], "pressed") + compare(doubleClickSpy.signalArguments[4][0], "doubleClick") + compare(doubleClickSpy.signalArguments[5][0], "released") + + doubleClickSpy.clear() + mouseDoubleClick(top, 25, 30) + compare(doubleClickSpy.count, 1) + compare(doubleClickSpy.signalArguments[0][0], "doubleClick") + } } } |