aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/testlib
diff options
context:
space:
mode:
authorAlbert Astals Cid <albert.astals@canonical.com>2013-04-03 11:07:18 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-05 14:08:02 +0200
commitfedd27e1faa65d38a1a5b11f750b5ae2fb5c4006 (patch)
tree435a1b02f1636a8a51579e5fbe201803b136a96b /src/imports/testlib
parent6eed3409c4ecf69d3c43cdcbeeca829624b9fe25 (diff)
Make keyClick/Press/Release work with a char
Change-Id: Id821bddd993d4da4458464713a69edfea4aaecaa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src/imports/testlib')
-rw-r--r--src/imports/testlib/TestCase.qml27
-rw-r--r--src/imports/testlib/testcase.qdoc4
2 files changed, 24 insertions, 7 deletions
diff --git a/src/imports/testlib/TestCase.qml b/src/imports/testlib/TestCase.qml
index 3df85b415a..f9a1a4918c 100644
--- a/src/imports/testlib/TestCase.qml
+++ b/src/imports/testlib/TestCase.qml
@@ -372,8 +372,13 @@ Item {
modifiers = Qt.NoModifier
if (delay == undefined)
delay = -1
- if (!qtest_events.keyPress(key, modifiers, delay))
- qtest_fail("window not shown", 2)
+ if (typeof(key) == "string" && key.length == 1) {
+ if (!qtest_events.keyPressChar(key, modifiers, delay))
+ qtest_fail("window not shown", 2)
+ } else {
+ if (!qtest_events.keyPress(key, modifiers, delay))
+ qtest_fail("window not shown", 2)
+ }
}
function keyRelease(key, modifiers, delay) {
@@ -381,8 +386,13 @@ Item {
modifiers = Qt.NoModifier
if (delay == undefined)
delay = -1
- if (!qtest_events.keyRelease(key, modifiers, delay))
- qtest_fail("window not shown", 2)
+ if (typeof(key) == "string" && key.length == 1) {
+ if (!qtest_events.keyReleaseChar(key, modifiers, delay))
+ qtest_fail("window not shown", 2)
+ } else {
+ if (!qtest_events.keyRelease(key, modifiers, delay))
+ qtest_fail("window not shown", 2)
+ }
}
function keyClick(key, modifiers, delay) {
@@ -390,8 +400,13 @@ Item {
modifiers = Qt.NoModifier
if (delay == undefined)
delay = -1
- if (!qtest_events.keyClick(key, modifiers, delay))
- qtest_fail("window not shown", 2)
+ if (typeof(key) == "string" && key.length == 1) {
+ if (!qtest_events.keyClickChar(key, modifiers, delay))
+ qtest_fail("window not shown", 2)
+ } else {
+ if (!qtest_events.keyClick(key, modifiers, delay))
+ qtest_fail("window not shown", 2)
+ }
}
function mousePress(item, x, y, button, modifiers, delay) {
diff --git a/src/imports/testlib/testcase.qdoc b/src/imports/testlib/testcase.qdoc
index 64fa42d579..56fcb24beb 100644
--- a/src/imports/testlib/testcase.qdoc
+++ b/src/imports/testlib/testcase.qdoc
@@ -174,7 +174,8 @@
The keyPress(), keyRelease(), and keyClick() methods can be used
to simulate keyboard events within unit tests. The events are
- delivered to the currently focused QML item.
+ delivered to the currently focused QML item. You can pass either
+ a Qt.Key enum value or a latin1 char (string of length one)
\code
Rectangle {
@@ -187,6 +188,7 @@
function test_key_click() {
keyClick(Qt.Key_Left)
+ keyClick("a")
...
}
}