summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2021-04-30 21:30:16 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2021-05-06 09:07:10 +0200
commitba57bbb0f8443a964e771fc65a3de807923bb71e (patch)
treed095e994bd658aebc9ac6b30c4c0825872b3fc8e /tests
parentaa3b04de39c35eef8eecf9d1e512965516815e2b (diff)
Unblacklist and fix load signals test for file download
Since it's a expected and valid behavior, and it's how chromium sees it. First, after link click, load to different document is started, then navigation is initiated, and only later it's resolved to download and aborted (hence load result is false) with page's state staying the same. Fixes: QTBUG-75185 Change-Id: I8b81ba00609649d9d0318f085ff1749a02a6e3cf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/loadsignals/BLACKLIST4
-rw-r--r--tests/auto/widgets/loadsignals/tst_loadsignals.cpp21
2 files changed, 7 insertions, 18 deletions
diff --git a/tests/auto/widgets/loadsignals/BLACKLIST b/tests/auto/widgets/loadsignals/BLACKLIST
index 71bb71b9e..d72d35d98 100644
--- a/tests/auto/widgets/loadsignals/BLACKLIST
+++ b/tests/auto/widgets/loadsignals/BLACKLIST
@@ -20,9 +20,5 @@
[loadAfterInPageNavigation_qtbug66869]
*
-# QTBUG-66661
-[fileDownloadDoesNotTriggerLoadSignals_qtbug66661]
-*
-
[numberOfStartedAndFinishedSignalsIsSame]
b2qt
diff --git a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp
index 3f5d975c0..e7dc77e95 100644
--- a/tests/auto/widgets/loadsignals/tst_loadsignals.cpp
+++ b/tests/auto/widgets/loadsignals/tst_loadsignals.cpp
@@ -90,7 +90,7 @@ private Q_SLOTS:
void rejectNavigationRequest_data();
void rejectNavigationRequest();
void loadAfterInPageNavigation_qtbug66869();
- void fileDownloadDoesNotTriggerLoadSignals_qtbug66661();
+ void fileDownload();
void numberOfStartedAndFinishedSignalsIsSame();
void loadFinishedAfterNotFoundError_data();
void loadFinishedAfterNotFoundError();
@@ -326,11 +326,7 @@ void tst_LoadSignals::loadAfterInPageNavigation_qtbug66869()
QFAIL("https://codereview.qt-project.org/#/c/222112/ only hides the symptom, the core issue still needs to be solved");
}
-/**
- * Test that file-downloads don't trigger loadStarted or loadFinished signals.
- * See QTBUG-66661
- */
-void tst_LoadSignals::fileDownloadDoesNotTriggerLoadSignals_qtbug66661()
+void tst_LoadSignals::fileDownload()
{
view.load(QUrl("qrc:///resources/page4.html"));
QTRY_COMPARE(loadFinishedSpy.size(), 1);
@@ -352,20 +348,17 @@ void tst_LoadSignals::fileDownloadDoesNotTriggerLoadSignals_qtbug66661()
});
// trigger the download link that becomes focused on page4
- QTest::qWait(1000);
QTest::sendKeyEvent(QTest::Press, view.focusProxy(), Qt::Key_Return, QString("\r"), Qt::NoModifier);
QTest::sendKeyEvent(QTest::Release, view.focusProxy(), Qt::Key_Return, QString("\r"), Qt::NoModifier);
- // Wait for 5 seconds (abort waiting if another loadStarted or loadFinished occurs)
- QTRY_LOOP_IMPL((loadStartedSpy.size() != 1)
- || (loadFinishedSpy.size() != 1), 5000, 100);
-
// Download must have occurred
QTRY_COMPARE(downloadState, QWebEngineDownloadItem::DownloadCompleted);
+ QTRY_COMPARE(loadFinishedSpy.size() + loadStartedSpy.size(), 4);
- // No further loadStarted should have occurred within this time
- QCOMPARE(loadStartedSpy.size(), 1);
- QCOMPARE(loadFinishedSpy.size(), 1);
+ // verify no more signals is emitted by waiting for another loadStarted or loadFinished
+ QTRY_LOOP_IMPL(loadStartedSpy.size() != 2 || loadFinishedSpy.size() != 2, 1000, 100);
+
+ QCOMPARE(page.signalsOrder, SignalsOrderTwiceWithFailure);
}
void tst_LoadSignals::numberOfStartedAndFinishedSignalsIsSame() {