summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets')
-rw-r--r--tests/auto/widgets/qwebengineview/BLACKLIST3
-rw-r--r--tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp21
2 files changed, 15 insertions, 9 deletions
diff --git a/tests/auto/widgets/qwebengineview/BLACKLIST b/tests/auto/widgets/qwebengineview/BLACKLIST
index 7121f7561..b3f393af4 100644
--- a/tests/auto/widgets/qwebengineview/BLACKLIST
+++ b/tests/auto/widgets/qwebengineview/BLACKLIST
@@ -3,3 +3,6 @@ windows
[imeComposition]
osx
+
+[inputFieldOverridesShortcuts]
+osx
diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
index c35617b3d..ad03839d6 100644
--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
@@ -1344,7 +1344,6 @@ void tst_QWebEngineView::inputFieldOverridesShortcuts()
{
bool actionTriggered = false;
QAction *action = new QAction;
- action->setShortcut(Qt::Key_X);
connect(action, &QAction::triggered, [&actionTriggered] () { actionTriggered = true; });
QWebEngineView view;
@@ -1352,7 +1351,7 @@ void tst_QWebEngineView::inputFieldOverridesShortcuts()
QSignalSpy loadFinishedSpy(&view, SIGNAL(loadFinished(bool)));
view.setHtml(QString("<html><body onload=\"input1=document.getElementById('input1')\">"
- "<input id=\"dummy\" type=\"text\">"
+ "<button id=\"btn1\" type=\"button\">push it real good</button>"
"<input id=\"input1\" type=\"text\" value=\"x\">"
"</body></html>"));
QVERIFY(loadFinishedSpy.wait());
@@ -1365,7 +1364,15 @@ void tst_QWebEngineView::inputFieldOverridesShortcuts()
"input1.value").toString();
};
+ // The input form is not focused. The action is triggered on pressing Shift+Delete.
+ action->setShortcut(Qt::SHIFT + Qt::Key_Delete);
+ QTest::keyClick(view.windowHandle(), Qt::Key_Delete, Qt::ShiftModifier);
+ QTRY_VERIFY(actionTriggered);
+ QCOMPARE(inputFieldValue(), QString("x"));
+
// The input form is not focused. The action is triggered on pressing X.
+ action->setShortcut(Qt::Key_X);
+ actionTriggered = false;
QTest::keyClick(view.windowHandle(), Qt::Key_X);
QTRY_VERIFY(actionTriggered);
QCOMPARE(inputFieldValue(), QString("x"));
@@ -1384,16 +1391,12 @@ void tst_QWebEngineView::inputFieldOverridesShortcuts()
QTRY_VERIFY(actionTriggered);
QCOMPARE(inputFieldValue(), QString("yx"));
- // Remove focus from the input field. A QKeySequence::Copy action still must not be triggered.
- evaluateJavaScriptSync(view.page(), "input1.blur();");
+ // Remove focus from the input field. A QKeySequence::Copy action must be triggerable.
+ evaluateJavaScriptSync(view.page(), "document.getElementById('btn1').focus();");
action->setShortcut(QKeySequence::Copy);
actionTriggered = false;
QTest::keyClick(view.windowHandle(), Qt::Key_C, Qt::ControlModifier);
- // Add some text in the input field to ensure that the key event went through.
- evaluateJavaScriptSync(view.page(), "input1.focus();");
- QTest::keyClick(view.windowHandle(), Qt::Key_U);
- QTRY_COMPARE(inputFieldValue(), QString("yux"));
- QVERIFY(!actionTriggered);
+ QTRY_VERIFY(actionTriggered);
}
class TestInputContext : public QPlatformInputContext