diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2020-07-31 16:02:36 +0200 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2020-08-31 10:05:07 +0200 |
commit | d25075fb681fa92fad1f9bdcb262a3e361e7659e (patch) | |
tree | f68a40335197e0966bd850a4a8d2722922baa914 /tests/auto/widgets/loadsignals | |
parent | 5f1f7e8913b74f9a88864b4155db8753007db52c (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.pro | 1 | ||||
-rw-r--r-- | tests/auto/widgets/loadsignals/resources/downloadable.tar.gz | bin | 131 -> 0 bytes | |||
-rw-r--r-- | tests/auto/widgets/loadsignals/resources/page1.html | 8 | ||||
-rw-r--r-- | tests/auto/widgets/loadsignals/resources/page2.html | 14 | ||||
-rw-r--r-- | tests/auto/widgets/loadsignals/resources/page3.html | 20 | ||||
-rw-r--r-- | tests/auto/widgets/loadsignals/resources/page4.html | 8 | ||||
-rw-r--r-- | tests/auto/widgets/loadsignals/tst_loadsignals.cpp | 16 | ||||
-rw-r--r-- | tests/auto/widgets/loadsignals/tst_loadsignals.qrc | 12 |
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 Binary files differdeleted file mode 100644 index 741cb8ca6..000000000 --- a/tests/auto/widgets/loadsignals/resources/downloadable.tar.gz +++ /dev/null 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> |