summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAdam Kallai <kadam@inf.u-szeged.hu>2016-04-28 12:04:10 +0200
committerAdam Kallai <kadam@inf.u-szeged.hu>2016-06-16 08:02:09 +0000
commit57f826abff6155c017f76eba1958979a2bc143a4 (patch)
tree21983e73b522ecb8ea17fc6bd8580bf922286e21 /tests
parent68028b6ea7812609dd7c91b96fa6595a89a049d2 (diff)
Add QML test for scrollPosition
Change-Id: Ia7541befb43d2b6fdd09b13ca51fc7d09b955964 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qmltests/data/TestWebEngineView.qml2
-rw-r--r--tests/auto/quick/qmltests/data/test4.html11
-rw-r--r--tests/auto/quick/qmltests/data/tst_scrollPosition.qml81
-rw-r--r--tests/auto/quick/qmltests/qmltests.pro1
4 files changed, 94 insertions, 1 deletions
diff --git a/tests/auto/quick/qmltests/data/TestWebEngineView.qml b/tests/auto/quick/qmltests/data/TestWebEngineView.qml
index 34fc5fb2f..0d2a34645 100644
--- a/tests/auto/quick/qmltests/data/TestWebEngineView.qml
+++ b/tests/auto/quick/qmltests/data/TestWebEngineView.qml
@@ -28,7 +28,7 @@
import QtQuick 2.0
import QtTest 1.0
-import QtWebEngine 1.2
+import QtWebEngine 1.3
WebEngineView {
property var loadStatus: null
diff --git a/tests/auto/quick/qmltests/data/test4.html b/tests/auto/quick/qmltests/data/test4.html
index 8f75af606..142b53668 100644
--- a/tests/auto/quick/qmltests/data/test4.html
+++ b/tests/auto/quick/qmltests/data/test4.html
@@ -12,6 +12,17 @@
<meta name="viewport" content="initial-scale=2.0"/>
</head>
<body>
+ <button onclick="scrollWin()", id="scroll">Click me to scroll!</button><br><br>
+
+ <script>
+ window.onload = function() {
+ document.getElementById("scroll").focus();
+ }
+
+ function scrollWin() {
+ window.scrollTo(0, 600);
+ }
+ </script>
<div id="content">
bla00<br/>
bla01<br/>
diff --git a/tests/auto/quick/qmltests/data/tst_scrollPosition.qml b/tests/auto/quick/qmltests/data/tst_scrollPosition.qml
new file mode 100644
index 000000000..08bb0f3b4
--- /dev/null
+++ b/tests/auto/quick/qmltests/data/tst_scrollPosition.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtWebEngine module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtTest 1.0
+import QtWebEngine 1.3
+
+TestWebEngineView {
+ id: webEngineView
+ width: 300
+ height: 400
+
+ property var testUrl: Qt.resolvedUrl("test4.html")
+
+ SignalSpy {
+ id: scrollPositionSpy
+ target: webEngineView
+ signalName: "onScrollPositionChanged"
+ }
+
+ TestCase {
+ name: "ScrollPosition"
+ when: windowShown
+
+ function init() {
+ webEngineView.url = Qt.resolvedUrl("about:blank");
+ verify(webEngineView.waitForLoadSucceeded());
+ }
+
+ function test_scrollPosition() {
+ webEngineView.url = testUrl;
+ verify(webEngineView.waitForLoadSucceeded());
+
+ keyPress(Qt.Key_Return); // Focus is on the scroll button.
+
+ tryCompare(scrollPositionSpy, "count", 1);
+ compare(webEngineView.scrollPosition.x, 0);
+ compare(webEngineView.scrollPosition.y, 600);
+ }
+
+ function test_scrollPositionAfterReload() {
+ webEngineView.url = testUrl;
+ verify(webEngineView.waitForLoadSucceeded());
+ tryCompare(webEngineView.scrollPosition, "y", 0);
+
+ keyPress(Qt.Key_Return); // Focus is on the scroll button.
+ scrollPositionSpy.wait();
+
+ webEngineView.reload();
+ verify(webEngineView.waitForLoadSucceeded());
+
+ tryCompare(webEngineView.scrollPosition, "x", 0);
+ tryCompare(webEngineView.scrollPosition, "y", 600);
+ }
+ }
+}
diff --git a/tests/auto/quick/qmltests/qmltests.pro b/tests/auto/quick/qmltests/qmltests.pro
index 64f7414ce..0158a7268 100644
--- a/tests/auto/quick/qmltests/qmltests.pro
+++ b/tests/auto/quick/qmltests/qmltests.pro
@@ -59,6 +59,7 @@ OTHER_FILES += \
$$PWD/data/tst_navigationRequested.qml \
$$PWD/data/tst_properties.qml \
$$PWD/data/tst_runJavaScript.qml \
+ $$PWD/data/tst_scrollPosition.qml \
$$PWD/data/tst_titleChanged.qml \
$$PWD/data/tst_unhandledKeyEventPropagation.qml \
$$PWD/data/tst_userScripts.qml \