diff options
author | Adam Kallai <kadam@inf.u-szeged.hu> | 2016-04-28 12:04:10 +0200 |
---|---|---|
committer | Adam Kallai <kadam@inf.u-szeged.hu> | 2016-06-16 08:02:09 +0000 |
commit | 57f826abff6155c017f76eba1958979a2bc143a4 (patch) | |
tree | 21983e73b522ecb8ea17fc6bd8580bf922286e21 /tests | |
parent | 68028b6ea7812609dd7c91b96fa6595a89a049d2 (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.qml | 2 | ||||
-rw-r--r-- | tests/auto/quick/qmltests/data/test4.html | 11 | ||||
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_scrollPosition.qml | 81 | ||||
-rw-r--r-- | tests/auto/quick/qmltests/qmltests.pro | 1 |
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 \ |