aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp')
-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()));