summaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qmltests/data/tst_loadProgress.qml
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/quick/qmltests/data/tst_loadProgress.qml
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/quick/qmltests/data/tst_loadProgress.qml')
-rw-r--r--tests/auto/quick/qmltests/data/tst_loadProgress.qml22
1 files changed, 14 insertions, 8 deletions
diff --git a/tests/auto/quick/qmltests/data/tst_loadProgress.qml b/tests/auto/quick/qmltests/data/tst_loadProgress.qml
index 15058cb8f..7bfe1d9e9 100644
--- a/tests/auto/quick/qmltests/data/tst_loadProgress.qml
+++ b/tests/auto/quick/qmltests/data/tst_loadProgress.qml
@@ -30,6 +30,8 @@ import QtQuick 2.0
import QtTest 1.0
import QtWebEngine 1.2
+import Test.Shared 1.0 as Shared
+
TestWebEngineView {
id: webEngineView
width: 400
@@ -55,10 +57,14 @@ TestWebEngineView {
compare(spyProgress.count, 0)
loadProgressArray = []
- webEngineView.url = Qt.resolvedUrl("test1.html")
+ verify(Shared.HttpServer.start())
+ Shared.HttpServer.newRequest.connect(request => {
+ wait(250) // just add delay to trigger some progress for every sub resource
+ })
+ webEngineView.url = Shared.HttpServer.url('/loadprogress/main.html')
// Wait for the first loadProgressChanged signal, which have to be non-negative
spyProgress.wait()
- verify(loadProgressArray[0] >= 0)
+ compare(loadProgressArray[0], 0)
verify(webEngineView.loadProgress >= 0)
// Wait for the last loadProgressChanged signal, which have to be 100%
@@ -67,13 +73,13 @@ TestWebEngineView {
compare(loadProgressArray[loadProgressArray.length - 1], 100)
compare(webEngineView.loadProgress, 100)
- // Test whether the chromium emits progress numbers in ascending order
- var loadProgressMin = 0
- for (var i in loadProgressArray) {
- var loadProgress = loadProgressArray[i]
- if (loadProgressMin > loadProgress)
+ // Test whether the chromium emits progress numbers in strict monotonic ascending order
+ let progress = 0
+ for (let i = 1; i < loadProgressArray.length; ++i) {
+ let nextProgress = loadProgressArray[i]
+ if (nextProgress <= progress)
fail("Invalid sequence of progress-values: " + loadProgressArray)
- loadProgressMin = loadProgress
+ progress = nextProgress
}
}
}