aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmltypeloader
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2020-08-21 20:51:58 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2020-08-23 20:50:04 +0200
commit894b7cb40eb8bfec2372a41d553ec449af015a1b (patch)
tree9039bbc6fd4541546b40c009ddadde7ccb1f2951 /tests/auto/qml/qqmltypeloader
parent098b8e712a2cabbbf8f47bcead73050588b5050c (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.cpp15
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()));