summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/loadsignals
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2020-07-31 16:02:36 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2020-08-31 10:05:07 +0200
commitd25075fb681fa92fad1f9bdcb262a3e361e7659e (patch)
treef68a40335197e0966bd850a4a8d2722922baa914 /tests/auto/widgets/loadsignals
parent5f1f7e8913b74f9a88864b4155db8753007db52c (diff)
Don't send duplicate load progress values
Suppress duplicated progress values coming from chromium. Verify this behavior reliably (and not only 0 and 100 value) by loading html with subresources with minor delay through test http server. Change-Id: Id034dda9012212d54d12fc95d5939ba301577c1c Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'tests/auto/widgets/loadsignals')
-rw-r--r--tests/auto/widgets/loadsignals/loadsignals.pro1
-rw-r--r--tests/auto/widgets/loadsignals/resources/downloadable.tar.gzbin131 -> 0 bytes
-rw-r--r--tests/auto/widgets/loadsignals/resources/page1.html8
-rw-r--r--tests/auto/widgets/loadsignals/resources/page2.html14
-rw-r--r--tests/auto/widgets/loadsignals/resources/page3.html20
-rw-r--r--tests/auto/widgets/loadsignals/resources/page4.html8
-rw-r--r--tests/auto/widgets/loadsignals/tst_loadsignals.cpp16
-rw-r--r--tests/auto/widgets/loadsignals/tst_loadsignals.qrc12
8 files changed, 19 insertions, 60 deletions
diff --git a/tests/auto/widgets/loadsignals/loadsignals.pro b/tests/auto/widgets/loadsignals/loadsignals.pro
index e99c7f493..9c239f1a7 100644
--- a/tests/auto/widgets/loadsignals/loadsignals.pro
+++ b/tests/auto/widgets/loadsignals/loadsignals.pro
@@ -1 +1,2 @@
include(../tests.pri)
+include(../../shared/http.pri)
diff --git a/tests/auto/widgets/loadsignals/resources/downloadable.tar.gz b/tests/auto/widgets/loadsignals/resources/downloadable.tar.gz
deleted file mode 100644
index 741cb8ca6..000000000
--- a/tests/auto/widgets/loadsignals/resources/downloadable.tar.gz
+++ /dev/null
Binary files differ
diff --git a/tests/auto/widgets/loadsignals/resources/page1.html b/tests/auto/widgets/loadsignals/resources/page1.html
deleted file mode 100644
index 5cd479ab6..000000000
--- a/tests/auto/widgets/loadsignals/resources/page1.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <head>
- <title>page1</title>
- </head>
- <body>
- <h1>page1</h1>
- </body>
-</html>
diff --git a/tests/auto/widgets/loadsignals/resources/page2.html b/tests/auto/widgets/loadsignals/resources/page2.html
deleted file mode 100644
index e3031f56a..000000000
--- a/tests/auto/widgets/loadsignals/resources/page2.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
- <head>
- <title>page2</title>
- </head>
- <style>
- .fardown {
- position: absolute;
- top: 2500px;
- }
- </style>
- <body>
- <div class="fardown" id="anchor">page2 anchor</div>
- </body>
-</html>
diff --git a/tests/auto/widgets/loadsignals/resources/page3.html b/tests/auto/widgets/loadsignals/resources/page3.html
deleted file mode 100644
index d38ca31f0..000000000
--- a/tests/auto/widgets/loadsignals/resources/page3.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
- <head>
- <title>page3</title>
- </head>
- <script>
- setTimeout(function(){
- document.getElementById('anchorLink').click();
- },500);
- </script>
- <style>
- .fardown {
- position: absolute;
- top: 2500px;
- }
- </style>
- <body>
- <div><a id="anchorLink" href="#anchor">page3</a></div>
- <div class="fardown" id="anchor">page3 anchor</div>
- </body>
-</html>
diff --git a/tests/auto/widgets/loadsignals/resources/page4.html b/tests/auto/widgets/loadsignals/resources/page4.html
deleted file mode 100644
index 61976b4fb..000000000
--- a/tests/auto/widgets/loadsignals/resources/page4.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <head>
- <title>page4</title>
- </head>
- <body onload="document.getElementById('downloadLink').focus();">
- <a id="downloadLink" href="downloadable.tar.gz">download</a>
- </body>
-</html>
diff --git a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp
index 20e5fbf0d..8eeadeeb8 100644
--- a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp
+++ b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp
@@ -28,6 +28,7 @@
#include <QtTest/QtTest>
+#include "httpserver.h"
#include "../util.h"
#include "qdebug.h"
#include "qwebenginepage.h"
@@ -133,18 +134,25 @@ void tst_LoadSignals::loadStartedAndFinishedCount()
*/
void tst_LoadSignals::monotonicity()
{
- view->load(QUrl("qrc:///resources/page1.html"));
+ HttpServer server;
+ server.setResourceDirs({ TESTS_SHARED_DATA_DIR });
+ connect(&server, &HttpServer::newRequest, [] (HttpReqRep *) {
+ QTest::qWait(250); // just add delay to trigger some progress for every sub resource
+ });
+ QVERIFY(server.start());
+
+ view->load(server.url("/loadprogress/main.html"));
QTRY_COMPARE(loadFinishedSpy->size(), 1);
bool loadSucceeded = (*loadFinishedSpy)[0][0].toBool();
QVERIFY(loadSucceeded);
// first loadProgress should have 0% progress
- QCOMPARE(loadProgressSpy->first()[0].toInt(), 0);
+ QCOMPARE(loadProgressSpy->takeFirst()[0].toInt(), 0);
- // every loadProgress should have at least as much progress as the one before
+ // every loadProgress should have more progress than the one before
int progress = 0;
for (auto item : *loadProgressSpy) {
- QVERIFY(item[0].toInt() >= progress);
+ QVERIFY(progress < item[0].toInt());
progress = item[0].toInt();
}
diff --git a/tests/auto/widgets/loadsignals/tst_loadsignals.qrc b/tests/auto/widgets/loadsignals/tst_loadsignals.qrc
index 316deecb8..21c517154 100644
--- a/tests/auto/widgets/loadsignals/tst_loadsignals.qrc
+++ b/tests/auto/widgets/loadsignals/tst_loadsignals.qrc
@@ -1,9 +1,9 @@
<RCC>
- <qresource prefix="/">
- <file>resources/page1.html</file>
- <file>resources/page2.html</file>
- <file>resources/page3.html</file>
- <file>resources/page4.html</file>
- <file>resources/downloadable.tar.gz</file>
+ <qresource prefix="/resources">
+ <file alias="page1.html">../../shared/data/loadprogress/page1.html</file>
+ <file alias="page2.html">../../shared/data/loadprogress/page2.html</file>
+ <file alias="page3.html">../../shared/data/loadprogress/page3.html</file>
+ <file alias="page4.html">../../shared/data/loadprogress/page4.html</file>
+ <file alias="downloadable.tar.gz">../../shared/data/loadprogress/downloadable.tar.gz</file>
</qresource>
</RCC>