aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_radiobutton.qml
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-01-05 08:31:25 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2017-01-24 11:53:00 +0000
commit3ac5f0c795a91efa975935d889c99052b8bc2137 (patch)
treecac6376556969ca008ba1e53b063a71cb429aeca /tests/auto/controls/data/tst_radiobutton.qml
parentc9902439780ce197b1e8c75d1c8bd7f97f3f43ae (diff)
QQuickAbstractButton: handle touch events
This makes it possible to interact with multiple buttons at the same time. Change-Id: Ice17efcb8b6dc5337455cd38ee88c39dfef2baae Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/controls/data/tst_radiobutton.qml')
-rw-r--r--tests/auto/controls/data/tst_radiobutton.qml54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_radiobutton.qml b/tests/auto/controls/data/tst_radiobutton.qml
index e9f1d82c..e878e1ba 100644
--- a/tests/auto/controls/data/tst_radiobutton.qml
+++ b/tests/auto/controls/data/tst_radiobutton.qml
@@ -156,6 +156,60 @@ TestCase {
verify(sequenceSpy.success)
}
+ function test_touch() {
+ var control = createTemporaryObject(radioButton, testCase)
+ verify(control)
+
+ var touch = touchEvent(control)
+
+ var sequenceSpy = signalSequenceSpy.createObject(control, {target: control})
+
+ // check
+ sequenceSpy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": false }],
+ "pressed"]
+ touch.press(0, control, control.width / 2, control.height / 2).commit()
+ compare(control.pressed, true)
+ verify(sequenceSpy.success)
+ sequenceSpy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": false }],
+ ["checkedChanged", { "pressed": false, "checked": true }],
+ "toggled",
+ "released",
+ "clicked"]
+ touch.release(0, control, control.width / 2, control.height / 2).commit()
+ compare(control.checked, true)
+ compare(control.pressed, false)
+ verify(sequenceSpy.success)
+
+ // attempt uncheck
+ sequenceSpy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true }],
+ "pressed"]
+ touch.press(0, control, control.width / 2, control.height / 2).commit()
+ compare(control.pressed, true)
+ verify(sequenceSpy.success)
+ sequenceSpy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": true }],
+ "released",
+ "clicked"]
+ touch.release(0, control, control.width / 2, control.height / 2).commit()
+ compare(control.checked, true)
+ compare(control.pressed, false)
+ verify(sequenceSpy.success)
+
+ // release outside
+ sequenceSpy.expectedSequence = [["pressedChanged", { "pressed": true, "checked": true }],
+ "pressed"]
+ touch.press(0, control, control.width / 2, control.height / 2).commit()
+ compare(control.pressed, true)
+ verify(sequenceSpy.success)
+ sequenceSpy.expectedSequence = [["pressedChanged", { "pressed": false, "checked": true }]]
+ touch.move(0, control, control.width * 2, control.height * 2).commit()
+ compare(control.pressed, false)
+ sequenceSpy.expectedSequence = [["canceled", { "pressed": false, "checked": true }]]
+ touch.release(0, control, control.width * 2, control.height * 2).commit()
+ compare(control.checked, true)
+ compare(control.pressed, false)
+ verify(sequenceSpy.success)
+ }
+
function test_keys() {
var control = createTemporaryObject(radioButton, testCase)
verify(control)