diff options
author | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2015-07-31 11:15:49 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@theqtcompany.com> | 2015-08-03 11:52:17 +0000 |
commit | 6a5abae266f20aed0bc5961cc0b4447d69599981 (patch) | |
tree | 5631ec08d2fa4e3fbc913e33e38a4ad794ed8bba /tests/auto/controls/data/tst_textarea.qml | |
parent | bf7ea19f533fd7258bffb756080618168660ac8e (diff) |
TextArea: Add pressAndHold signal
We factorize the feature code identical to TextField's
into a helper class.
Change-Id: I4496f2d192a023f6a6c03ed81d81bca4c08a59d0
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'tests/auto/controls/data/tst_textarea.qml')
-rw-r--r-- | tests/auto/controls/data/tst_textarea.qml | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_textarea.qml b/tests/auto/controls/data/tst_textarea.qml index 9399c95f..adf3ff9f 100644 --- a/tests/auto/controls/data/tst_textarea.qml +++ b/tests/auto/controls/data/tst_textarea.qml @@ -60,4 +60,56 @@ TestCase { verify(control) control.destroy() } + + SignalSpy { + id: pressAndHoldSpy + signalName: "pressAndHold" + } + + function test_pressAndHold() { + var control = textArea.createObject(testCase) + control.width = 200 + pressAndHoldSpy.target = control + + mouseClick(control) + compare(pressAndHoldSpy.count, 0) + var interval = Qt.styleHints.mousePressAndHoldInterval + + // Short press duration => nothing happens + mousePress(control) + wait(interval * 0.3) + mouseRelease(control) + compare(pressAndHoldSpy.count, 0) + + // Long enough press duration => signal emitted + mousePress(control, 10, 10) + // Add 10% extra time to allow the control to + // receive the timer event before we come back here + wait(interval * 1.1) + compare(pressAndHoldSpy.count, 1) + mouseRelease(control) + compare(pressAndHoldSpy.count, 1) + + // Long enough, but move in between => nothing happens + pressAndHoldSpy.clear() + mousePress(control) + wait(interval * 0.6) + mouseMove(control, 5, 5, Qt.LeftButton) + wait(interval * 0.6) + compare(pressAndHoldSpy.count, 0) + mouseRelease(control) + compare(pressAndHoldSpy.count, 0) + + // Long enough, but 2nd press in between => nothing happens + pressAndHoldSpy.clear() + mousePress(control, 10, 10) + wait(interval * 0.6) + mousePress(control, 10, 10, Qt.RightButton) + wait(interval * 0.6) + compare(pressAndHoldSpy.count, 0) + mouseRelease(control, 10, 10, Qt.LeftButton|Qt.RightButton) + compare(pressAndHoldSpy.count, 0) + + control.destroy() + } } |