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/quick/qmltests/data/tst_loadProgress.qml | |
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/quick/qmltests/data/tst_loadProgress.qml')
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_loadProgress.qml | 22 |
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 } } } |