From 894b7cb40eb8bfec2372a41d553ec449af015a1b Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Fri, 21 Aug 2020 20:51:58 +0200 Subject: 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 --- tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests/auto/qml/qqmltypeloader') 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())); -- cgit v1.2.3