diff options
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/testlib/TestCase.qml | 27 | ||||
-rw-r--r-- | src/imports/testlib/testcase.qdoc | 4 |
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") ... } } |