diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-08-21 20:51:58 +0200 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-08-23 20:50:04 +0200 |
commit | 894b7cb40eb8bfec2372a41d553ec449af015a1b (patch) | |
tree | 9039bbc6fd4541546b40c009ddadde7ccb1f2951 /tests/auto/qml/qqmltypeloader | |
parent | 098b8e712a2cabbbf8f47bcead73050588b5050c (diff) |
tst_qqmltypeloader: Adapt to network redirection change in qtbase
d12afeff4097dd78f1311511e0c8f74e1a810d47 in qtbase changed the default
from manual to NoLessSafeRedirectPolicy. The redirect test however
relies on us being able to handle redirections manually.
Restore the old behavior in the test by installing a
QNetworkManagerAccessFactory which returns QNAMs with the old behavior.
Change-Id: I69ccf39189e79dbea6b1734e99c56e36858af208
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto/qml/qqmltypeloader')
-rw-r--r-- | tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp index e1fdb0e221..750f9ff402 100644 --- a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp +++ b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp @@ -393,6 +393,19 @@ public: } }; +class ManualRedirectNetworkAccessManagerFactory : public QQmlNetworkAccessManagerFactory +{ +public: + QStringList loadedFiles; + + QNetworkAccessManager *create(QObject *parent) override + { + NetworkAccessManager *manager = new NetworkAccessManager(parent); + manager->setRedirectPolicy(QNetworkRequest::ManualRedirectPolicy); + return manager; + } +}; + class UrlInterceptor : public QQmlAbstractUrlInterceptor { public: @@ -455,7 +468,9 @@ void tst_QQMLTypeLoader::redirect() QVERIFY(server.serveDirectory(dataDirectory())); server.addRedirect("Base.qml", server.urlString("/redirected/Redirected.qml")); + ManualRedirectNetworkAccessManagerFactory factory; QQmlEngine engine; + engine.setNetworkAccessManagerFactory(&factory); QQmlComponent component(&engine); component.loadUrl(server.urlString("/Load.qml"), QQmlComponent::Asynchronous); QTRY_VERIFY2(component.isReady(), qPrintable(component.errorString())); |