summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/qwebenginepage
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-06-20 13:38:11 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-20 18:27:44 +0200
commit25ccef35eb19fd656eba2a7abe5419972ed28552 (patch)
treee0c92532c3c70135d0a547675414e95d21a66822 /tests/auto/widgets/qwebenginepage
parent3398abfc1b5b789d11592aada0b5860e36a50041 (diff)
parente91f09947b55dda8a13b2aeb0963836dee2ece8d (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: src/3rdparty src/core/permission_manager_qt.cpp src/core/renderer/web_channel_ipc_transport.cpp src/core/renderer/web_channel_ipc_transport.h Change-Id: I25fd8ed7c433dadce44d8ac1e39f86e211ec25f0
Diffstat (limited to 'tests/auto/widgets/qwebenginepage')
-rw-r--r--tests/auto/widgets/qwebenginepage/BLACKLIST3
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp36
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/widgets/qwebenginepage/BLACKLIST b/tests/auto/widgets/qwebenginepage/BLACKLIST
index fcd36ba83..507fb7dbd 100644
--- a/tests/auto/widgets/qwebenginepage/BLACKLIST
+++ b/tests/auto/widgets/qwebenginepage/BLACKLIST
@@ -1,2 +1,5 @@
[macCopyUnicodeToClipboard]
osx
+
+[getUserMediaRequest]
+windows
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index b39c07fc2..2461a588b 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -236,6 +236,7 @@ private Q_SLOTS:
void toPlainTextLoadFinishedRace_data();
void toPlainTextLoadFinishedRace();
void setZoomFactor();
+ void mouseButtonTranslation();
void printToPdf();
@@ -4886,5 +4887,40 @@ void tst_QWebEnginePage::printToPdf()
QCOMPARE(failedInvalidLayoutSpy.waitForResult().length(), 0);
}
+void tst_QWebEnginePage::mouseButtonTranslation()
+{
+ QWebEngineView *view = new QWebEngineView;
+
+ QSignalSpy spy(view, SIGNAL(loadFinished(bool)));
+ view->setHtml(QStringLiteral(
+ "<html><head><script>\
+ var lastEvent = { 'button' : -1 }; \
+ function saveLastEvent(event) { console.log(event); lastEvent = event; }; \
+ </script></head>\
+ <body>\
+ <div style=\"height:600px;\" onmousedown=\"saveLastEvent(event)\">\
+ </div>\
+ </body></html>"));
+ view->show();
+ QTest::qWaitForWindowExposed(view);
+ QTRY_VERIFY(spy.count() == 1);
+
+ QVERIFY(view->focusProxy() != nullptr);
+
+ QMouseEvent evpres(QEvent::MouseButtonPress, view->rect().center(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
+ QGuiApplication::sendEvent(view->focusProxy(), &evpres);
+
+ QTRY_COMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.button").toInt(), 0);
+ QCOMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.buttons").toInt(), 1);
+
+ QMouseEvent evpres2(QEvent::MouseButtonPress, view->rect().center(), Qt::RightButton, Qt::LeftButton | Qt::RightButton, Qt::NoModifier);
+ QGuiApplication::sendEvent(view->focusProxy(), &evpres2);
+
+ QTRY_COMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.button").toInt(), 2);
+ QCOMPARE(evaluateJavaScriptSync(view->page(), "lastEvent.buttons").toInt(), 3);
+
+ delete view;
+}
+
QTEST_MAIN(tst_QWebEnginePage)
#include "tst_qwebenginepage.moc"