aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qmltest/events/tst_events.qml
diff options
context:
space:
mode:
authorCaroline Chao <caroline.chao@theqtcompany.com>2015-02-27 12:11:58 +0100
committerCaroline Chao <caroline.chao@theqtcompany.com>2015-03-02 11:45:35 +0000
commit726eaaeeeede086ed341899b8ee0c1570e6bf6f5 (patch)
treeb3880ee109108fb11299a70ac701e6bf1915b3be /tests/auto/qmltest/events/tst_events.qml
parent09e903e0743b3d3d58c31621b368ea317140b0f2 (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/qmltest/events/tst_events.qml')
-rw-r--r--tests/auto/qmltest/events/tst_events.qml35
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")
+ }
}
}