From dcd89d4b9c981a6cf064bb406e38356e50eaf4bf Mon Sep 17 00:00:00 2001
From: Szabolcs David <davidsz@inf.u-szeged.hu>
Date: Mon, 16 Mar 2015 08:38:39 -0700
Subject: [PATCH] Fix tst_keyboardModifierMapping QML test

It needs some waiting time after keyboard events.

Change-Id: I970f15b66bea3399b8dff43a9323c2827ad19823
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
---
 .../quick/qmltests/data/keyboardModifierMapping.html     | 2 ++
 .../quick/qmltests/data/tst_keyboardModifierMapping.qml  | 9 ++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/auto/quick/qmltests/data/keyboardModifierMapping.html b/tests/auto/quick/qmltests/data/keyboardModifierMapping.html
index b6d291207..4652bf5da 100644
--- a/tests/auto/quick/qmltests/data/keyboardModifierMapping.html
+++ b/tests/auto/quick/qmltests/data/keyboardModifierMapping.html
@@ -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() {
diff --git a/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml b/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml
index 1d8fb0ed5..230ee9635 100644
--- a/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml
+++ b/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml
@@ -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) {
-- 
GitLab