diff --git a/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml b/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml index ae60e5f5e8a9f10c0d3c508cc6d15c72c8fca4dc..e0a8c0a416ba4ccf0aba9e3d5e0aa3b37935c94c 100644 --- a/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml +++ b/tests/auto/quick/qmltests/data/tst_keyboardModifierMapping.qml @@ -52,24 +52,26 @@ TestWebEngineView { onTriggered: parent.when = true } + function getPressedModifiers() { + var pressedModifiers; + runJavaScript("getPressedModifiers()", function(result) { + pressedModifiers = result; + }); + tryVerify(function() { return pressedModifiers != undefined }); + return pressedModifiers; + } + 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; - }); - wait(100); - verify(callbackCalled); + compare(getPressedModifiers(), "alt:pressed ctrl:no meta:no"); keyRelease(Qt.Key_Alt) titleSpy.wait() - callbackCalled = false; // Ctrl // On mac Qt automatically translates Meta to Ctrl and vice versa. @@ -78,36 +80,18 @@ TestWebEngineView { // 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; - }); - wait(100); - verify(callbackCalled); + compare(getPressedModifiers(), "alt:released ctrl:pressed meta:no"); 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; - }); - wait(100); - verify(callbackCalled); + compare(getPressedModifiers(), "alt:released ctrl:released meta:pressed"); keyRelease(Qt.platform.os == "osx" ? Qt.Key_Control : Qt.Key_Meta); titleSpy.wait() - callbackCalled = false; - runJavaScript("getPressedModifiers()", function(result) { - compare(result, "alt:released ctrl:released meta:released"); - callbackCalled = true; - }); - wait(100); - verify(callbackCalled); - callbackCalled = false; + compare(getPressedModifiers(), "alt:released ctrl:released meta:released"); } } }