Commit dcd89d4b authored by Szabolcs David's avatar Szabolcs David Committed by Andras Becsi
Browse files

Fix tst_keyboardModifierMapping QML test


It needs some waiting time after keyboard events.

Change-Id: I970f15b66bea3399b8dff43a9323c2827ad19823
Reviewed-by: default avatarPierre Rossi <pierre.rossi@theqtcompany.com>
Showing with 10 additions and 1 deletion
......@@ -15,6 +15,7 @@ document.body.onkeydown = function(e) {
if (e.metaKey)
meta_state.textContent = 'pressed'
last_keycode.textContent = e.keyCode
document.title = "Key pressed";
};
document.body.onkeyup = function(e) {
if (e.altKey)
......@@ -24,6 +25,7 @@ document.body.onkeyup = function(e) {
if (e.metaKey)
meta_state.textContent = 'released'
last_keycode.textContent = e.keyCode
document.title = "Key released";
};
function getPressedModifiers() {
......
......@@ -49,7 +49,7 @@ TestWebEngineView {
height: 300
SignalSpy {
id: spy
id: titleSpy
target: webEngineView
signalName: "titleChanged"
}
......@@ -68,10 +68,12 @@ TestWebEngineView {
function test_keyboardModifierMapping() {
webEngineView.url = Qt.resolvedUrl("keyboardModifierMapping.html")
waitForLoadSucceeded();
titleSpy.wait()
var callbackCalled = false;
// Alt
keyPress(Qt.Key_Alt);
titleSpy.wait()
runJavaScript("getPressedModifiers()", function(result) {
compare(result, "alt:pressed ctrl:no meta:no");
callbackCalled = true;
......@@ -79,6 +81,7 @@ TestWebEngineView {
wait(100);
verify(callbackCalled);
keyRelease(Qt.Key_Alt)
titleSpy.wait()
callbackCalled = false;
// Ctrl
......@@ -87,6 +90,7 @@ TestWebEngineView {
// so we have to do this here manually.
// For testing we assume that the flag Qt::AA_MacDontSwapCtrlAndMeta is NOT set.
keyPress(Qt.platform.os == "osx" ? Qt.Key_Meta : Qt.Key_Control);
titleSpy.wait()
runJavaScript("getPressedModifiers()", function(result) {
compare(result, "alt:released ctrl:pressed meta:no");
callbackCalled = true;
......@@ -94,10 +98,12 @@ TestWebEngineView {
wait(100);
verify(callbackCalled);
keyRelease(Qt.platform.os == "osx" ? Qt.Key_Meta : Qt.Key_Control);
titleSpy.wait()
callbackCalled = false;
// Meta (Command on Mac)
keyPress(Qt.platform.os == "osx" ? Qt.Key_Control : Qt.Key_Meta);
titleSpy.wait()
runJavaScript("getPressedModifiers()", function(result) {
compare(result, "alt:released ctrl:released meta:pressed");
callbackCalled = true;
......@@ -105,6 +111,7 @@ TestWebEngineView {
wait(100);
verify(callbackCalled);
keyRelease(Qt.platform.os == "osx" ? Qt.Key_Control : Qt.Key_Meta);
titleSpy.wait()
callbackCalled = false;
runJavaScript("getPressedModifiers()", function(result) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment