From cdda0b9492920424d8ffb1af1f3e9dfe0f031b44 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 31 Oct 2015 21:41:18 +0100 Subject: Add AbstractButton::autoRepeat Change-Id: Idbb94bac9ccdfae730f6e4da6d63c664971f41a3 Reviewed-by: Mitch Curtis --- tests/auto/controls/data/tst_button.qml | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'tests') diff --git a/tests/auto/controls/data/tst_button.qml b/tests/auto/controls/data/tst_button.qml index 638a773c..76d45e03 100644 --- a/tests/auto/controls/data/tst_button.qml +++ b/tests/auto/controls/data/tst_button.qml @@ -232,4 +232,62 @@ TestCase { control.destroy() } + + SignalSpy { id: clickSpy; signalName: "clicked" } + + function test_autoRepeat() { + var control = button.createObject(testCase) + verify(control) + + compare(control.autoRepeat, false) + control.autoRepeat = true + compare(control.autoRepeat, true) + + control.forceActiveFocus() + verify(control.activeFocus) + + clickSpy.target = control + verify(clickSpy.valid) + + var repeatCount = 2 + var repeatSequence = [["pressedChanged", { "pressed": true }], + "pressed", + "released", + "clicked", + "pressed", + "released", + "clicked", + "pressed"] + + // auto-repeat a couple of mouse clicks + control.spy.expectedSequence = repeatSequence + mousePress(control) + compare(control.pressed, true) + tryCompare(clickSpy, "count", repeatCount) + verify(control.spy.success) + + control.spy.expectedSequence = [["pressedChanged", { "pressed": false }], + "released", + "clicked"] + mouseRelease(control) + compare(control.pressed, false) + verify(control.spy.success) + + // auto-repeat a couple of key clicks + clickSpy.clear() + control.spy.expectedSequence = repeatSequence + keyPress(Qt.Key_Space) + compare(control.pressed, true) + tryCompare(clickSpy, "count", repeatCount) + verify(control.spy.success) + + control.spy.expectedSequence = [["pressedChanged", { "pressed": false }], + "released", + "clicked"] + keyRelease(Qt.Key_Space) + compare(control.pressed, false) + verify(control.spy.success) + + control.destroy() + } } -- cgit v1.2.3