diff options
Diffstat (limited to 'tests/auto/qml/qqmlxmlhttprequest')
58 files changed, 338 insertions, 301 deletions
diff --git a/tests/auto/qml/qqmlxmlhttprequest/CMakeLists.txt b/tests/auto/qml/qqmlxmlhttprequest/CMakeLists.txt index 529840c484..3d93585812 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/CMakeLists.txt +++ b/tests/auto/qml/qqmlxmlhttprequest/CMakeLists.txt @@ -7,6 +7,12 @@ ## tst_qqmlxmlhttprequest Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qqmlxmlhttprequest LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + # Collect test data file(GLOB_RECURSE test_data_glob RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.collection.allprop.expect b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.collection.allprop.expect index 6dba52d2de..15274c5e58 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.collection.allprop.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.collection.allprop.expect @@ -1,13 +1,13 @@ PROPFIND /container/ HTTP/1.1 -Depth: 1 -Content-Length: 95 -Connection: Keep-Alive, Upgrade, HTTP2-Settings -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -Accept-Language: en-US,* -Content-type:i application/xml; charset="utf-8" -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +depth: 1 +content-length: 95 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +accept-language: {{Ignore}} +content-type:i application/xml; charset="utf-8" +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} <?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"> diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.file.expect b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.file.expect index dc7217d45c..f7bb57ad89 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.file.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/propfind.file.expect @@ -1,12 +1,12 @@ PROPFIND /file HTTP/1.1 -Content-Length: 192 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -Accept-Language: en-US,* -Content-type: text/xml; charset="utf-8" -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +content-length: 192 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +accept-language: {{Ignore}} +content-type: text/xml; charset="utf-8" +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} <?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"> diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.collection.allprop.qml b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.collection.allprop.qml index 5c47a27420..624cdc4a41 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.collection.allprop.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.collection.allprop.qml @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import QtQuick 2.0 diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.response.qml b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.response.qml index dbb57b3b1b..5249ad84c1 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.response.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.response.qml @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import QtQuick 2.0 diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.responseXML.qml b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.responseXML.qml index ecc3627060..eb1dd53a97 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.responseXML.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/WebDAV/sendPropfind.responseXML.qml @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import QtQuick 2.0 diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/abort.expect b/tests/auto/qml/qqmlxmlhttprequest/data/abort.expect index 97c1661851..90e15895a6 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/abort.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/abort.expect @@ -1,11 +1,11 @@ PUT /testdocument.html HTTP/1.1 -Accept-Language: en-US -Content-Type: text/plain;charset=UTF-8 -Content-Length: 10 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: text/plain;charset=UTF-8 +content-length: 10 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} Test Data diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/abort.qml b/tests/auto/qml/qqmlxmlhttprequest/data/abort.qml index c8d8382c8f..f07ba2dbc6 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/abort.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/abort.qml @@ -13,32 +13,25 @@ QtObject { var x = new XMLHttpRequest; x.open("GET", urlDummy); x.setRequestHeader("Test-header", "TestValue"); - x.setRequestHeader("Accept-Language", "en-US"); x.send(); x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) seenDone = true; - } else if (x.readyState == XMLHttpRequest.UNSENT) { + else if (x.readyState == XMLHttpRequest.UNSENT) didNotSeeUnsent = false; - } } x.abort(); - if (x.readyState == XMLHttpRequest.UNSENT) { + if (x.readyState == XMLHttpRequest.UNSENT) endStateUnsent = true; - } x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.open("PUT", url); - x.setRequestHeader("Accept-Language", "en-US"); x.send("Test Data\n"); } } - - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/abort_opened.qml b/tests/auto/qml/qqmlxmlhttprequest/data/abort_opened.qml index 7fcbc9367a..5933c3062d 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/abort_opened.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/abort_opened.qml @@ -21,14 +21,10 @@ QtObject { readyState = true; x.open("PUT", url); - x.setRequestHeader("Accept-Language", "en-US"); - x.abort(); x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -53,8 +49,6 @@ QtObject { } } - x.send() } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/abort_unsent.qml b/tests/auto/qml/qqmlxmlhttprequest/data/abort_unsent.qml index 0a85c6b16f..36febc41dc 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/abort_unsent.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/abort_unsent.qml @@ -21,9 +21,7 @@ QtObject { readyState = true; x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -43,13 +41,10 @@ QtObject { // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } - x.send() } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/getAllResponseHeaders.qml b/tests/auto/qml/qqmlxmlhttprequest/data/getAllResponseHeaders.qml index a9066093d4..cf38ca22df 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/getAllResponseHeaders.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/getAllResponseHeaders.qml @@ -31,9 +31,7 @@ QtObject { readyState = true; x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -43,7 +41,11 @@ QtObject { openedException = true; } - var headers = "connection: close\r\ncontent-type: text/html; charset=UTF-8\r\ntest-header: TestValue\r\nmultitest-header: TestValue, SecondTestValue\r\ncontent-length: 11"; + var headers = [ "connection: close", + "content-type: text/html; charset=UTF-8", + "test-header: TestValue", + "multitest-header: TestValue, SecondTestValue", + "content-length: 11" ].join("\r\n"); // Test to the end x.onreadystatechange = function() { @@ -52,7 +54,7 @@ QtObject { headersReceivedHeader = (x.getAllResponseHeaders() == headers); } else if (x.readyState == XMLHttpRequest.DONE) { - doneState = headersReceivedState && true; + doneState = headersReceivedState; doneHeader = (x.getAllResponseHeaders() == headers); dataOK = (x.responseText == "QML Rocks!\n"); diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.expect b/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.expect index 2270e7f3aa..299bfd4689 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.expect @@ -1,8 +1,8 @@ GET /testdocument.html HTTP/1.1 -Accept-Language: en-US -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.qml b/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.qml index 0219d7b2fc..02c1b6ef47 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/getResponseHeader.qml @@ -37,9 +37,7 @@ QtObject { readyState = true; x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -56,15 +54,20 @@ QtObject { headersReceivedNullHeader = (x.getResponseHeader("Nonexistant-header") == ""); headersReceivedValidHeader = (x.getResponseHeader("Test-HEAder") == "TestValue"); - headersReceivedMultiValidHeader = (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue"); - headersReceivedCookieHeader = (x.getResponseHeader("Set-Cookie") == "" && x.getResponseHeader("Set-Cookie2") == ""); + headersReceivedMultiValidHeader = + (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue"); + headersReceivedCookieHeader = + (x.getResponseHeader("Set-Cookie") == "" + && x.getResponseHeader("Set-Cookie2") == ""); } else if (x.readyState == XMLHttpRequest.DONE) { - doneState = headersReceivedState && true; + doneState = headersReceivedState; doneNullHeader = (x.getResponseHeader("Nonexistant-header") == ""); doneValidHeader = (x.getResponseHeader("Test-HEAder") == "TestValue"); - doneMultiValidHeader = (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue"); - doneCookieHeader = (x.getResponseHeader("Set-Cookie") == "" && x.getResponseHeader("Set-Cookie2") == ""); + doneMultiValidHeader = + (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue"); + doneCookieHeader = (x.getResponseHeader("Set-Cookie") == "" + && x.getResponseHeader("Set-Cookie2") == ""); dataOK = (x.responseText == "QML Rocks!\n"); } } diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/noqmlcontext.js b/tests/auto/qml/qqmlxmlhttprequest/data/noqmlcontext.js index adb7269310..4c592bc8de 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/noqmlcontext.js +++ b/tests/auto/qml/qqmlxmlhttprequest/data/noqmlcontext.js @@ -1,11 +1,9 @@ (function(url, resultCollector) { var x = new XMLHttpRequest; x.open("GET", url); - x.setRequestHeader("Accept-Language","en-US"); x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) resultCollector.responseText = x.responseText - } } x.send() }) diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/open.qml b/tests/auto/qml/qqmlxmlhttprequest/data/open.qml index 6e7681dfb4..26934fabe9 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/open.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/open.qml @@ -20,9 +20,7 @@ QtObject { readyState = true; x.open("GET", url); - x.setRequestHeader("Accept-Language","en-US"); - - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -42,13 +40,10 @@ QtObject { // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } - x.send() } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/open_network.expect b/tests/auto/qml/qqmlxmlhttprequest/data/open_network.expect index 2270e7f3aa..299bfd4689 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/open_network.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/open_network.expect @@ -1,8 +1,8 @@ GET /testdocument.html HTTP/1.1 -Accept-Language: en-US -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/open_sync.qml b/tests/auto/qml/qqmlxmlhttprequest/data/open_sync.qml index 3c73141954..24711de2b3 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/open_sync.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/open_sync.qml @@ -7,7 +7,6 @@ QtObject { Component.onCompleted: { var x = new XMLHttpRequest; x.open("GET", url, false); - x.setRequestHeader("Accept-Language", "en-US"); x.send(); responseText = x.responseText; } diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/open_user.qml b/tests/auto/qml/qqmlxmlhttprequest/data/open_user.qml index 4eaef536b3..f22118a1b0 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/open_user.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/open_user.qml @@ -20,9 +20,7 @@ QtObject { readyState = true; x.open("GET", url, true, "username", "password"); - x.setRequestHeader("Accept-Language","en-US"); - - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -42,13 +40,10 @@ QtObject { // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } - x.send() } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/open_username.qml b/tests/auto/qml/qqmlxmlhttprequest/data/open_username.qml index b8ce5361f3..b62b09097e 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/open_username.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/open_username.qml @@ -21,7 +21,7 @@ QtObject { x.open("GET", url, true, "sampleusername", "password"); - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/overrideMimeType.qml b/tests/auto/qml/qqmlxmlhttprequest/data/overrideMimeType.qml new file mode 100644 index 0000000000..922147bc4e --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/overrideMimeType.qml @@ -0,0 +1,20 @@ +import QtQuick + +QtObject { + property string url + property bool dataOK: false + + Component.onCompleted: { + let xhr = new XMLHttpRequest; + xhr.open("GET", url); + xhr.overrideMimeType('text/xml'); + + // Test to the end + xhr.onreadystatechange = function() { + if (xhr.readyState === XMLHttpRequest.DONE) + dataOK = xhr.responseXML !== null; + } + + xhr.send(); + } +} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/overrideMimeType.reply b/tests/auto/qml/qqmlxmlhttprequest/data/overrideMimeType.reply new file mode 100644 index 0000000000..fed050b72d --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/overrideMimeType.reply @@ -0,0 +1,3 @@ +HTTP/1.1 200 OK +Connection: close +Content-Type: text/plain diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/receiveBinaryData.qml b/tests/auto/qml/qqmlxmlhttprequest/data/receiveBinaryData.qml index b9f0ab6e66..15503d1bc6 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/receiveBinaryData.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/receiveBinaryData.qml @@ -4,6 +4,7 @@ QtObject { property string url property int readSize: 0 property int status: 0 + id: object Component.onCompleted: { @@ -13,7 +14,7 @@ QtObject { request.onreadystatechange = function() { if (request.readyState == XMLHttpRequest.DONE) { - status = request.status; + object.status = request.status; var arrayBuffer = request.response; if (arrayBuffer) { var byteArray = new Uint8Array(arrayBuffer); diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/receive_binary_data.expect b/tests/auto/qml/qqmlxmlhttprequest/data/receive_binary_data.expect index 35d28ec76d..d18a95c7dd 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/receive_binary_data.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/receive_binary_data.expect @@ -1,8 +1,8 @@ GET /gml_logo.png HTTP/1.1 -Accept-Language: en-US,* -Content-Type: image/png -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: image/png +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/receive_json_data.expect b/tests/auto/qml/qqmlxmlhttprequest/data/receive_json_data.expect index 9784ba4a80..0df27ead2c 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/receive_json_data.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/receive_json_data.expect @@ -1,8 +1,8 @@ GET /json.data HTTP/1.1 -Accept-Language: en-US,* -Content-Type: application/jsonrequest -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: application/jsonrequest +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/responseText.qml b/tests/auto/qml/qqmlxmlhttprequest/data/responseText.qml index 4b216d9c85..cf06b6fda6 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/responseText.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/responseText.qml @@ -22,8 +22,6 @@ QtObject { unsent = (x.responseText == ""); x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - opened = (x.responseText == ""); // Test to the end @@ -40,8 +38,6 @@ QtObject { dataOK = (x.responseText == expectedText); x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - reset = (x.responseText == ""); } } @@ -51,4 +47,3 @@ QtObject { sent = (x.responseText == ""); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/responseURL.qml b/tests/auto/qml/qqmlxmlhttprequest/data/responseURL.qml new file mode 100644 index 0000000000..3a35dcc882 --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/responseURL.qml @@ -0,0 +1,21 @@ +import QtQuick 2.0 + +QtObject { + property string url + property string expectedURL + + property bool dataOK: false + + Component.onCompleted: { + var x = new XMLHttpRequest; + x.open("GET", url); + + // Test to the end + x.onreadystatechange = function() { + if (x.readyState === XMLHttpRequest.DONE) + dataOK = (x.responseURL === expectedURL); + } + + x.send() + } +} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_alreadySent.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_alreadySent.qml index 65ce90853d..1a3a5285c0 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_alreadySent.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_alreadySent.qml @@ -7,13 +7,11 @@ QtObject { Component.onCompleted: { var x = new XMLHttpRequest; x.open("GET", "testdocument.html"); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send(); diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.expect index 64bd2b3818..708aa1a7f0 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.expect @@ -1,11 +1,11 @@ POST /testdocument.html HTTP/1.1 -Accept-Language: en-US -Content-Type: text/plain;charset=UTF-8 -Content-Length: 13 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: text/plain;charset=UTF-8 +content-length: 13 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} My Sent Data diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.qml index 57203433c0..2f794650ba 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.1.qml @@ -2,19 +2,16 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.10.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.10.expect index 2bf3b5a081..bb82e8ba74 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.10.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.10.expect @@ -1,11 +1,11 @@ OPTIONS /testdocument.html HTTP/1.1 -Accept-Language: en-US,* -Content-Type: text/plain;charset=UTF-8 -Content-Length: 13 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: text/plain;charset=UTF-8 +content-length: 13 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} My Sent Data diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.expect Binary files differindex 7132819c72..341fb36f2a 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.expect diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.qml index 25584a662b..136243bbb2 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.11.qml @@ -2,19 +2,16 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } var data = new Uint8Array([1, 2, 3, 0, 3, 2, 1, 10]) diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.2.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.2.qml index e63d58fdb6..e3d55889d6 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.2.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.2.qml @@ -2,23 +2,19 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); x.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.3.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.3.qml index cfd67a6a72..eaf5a057ae 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.3.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.3.qml @@ -2,23 +2,19 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); x.setRequestHeader("Content-Type", "text/plain;charset=latin1"); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.expect index 270ee838d9..75e6758f14 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.expect @@ -1,11 +1,11 @@ POST /testdocument.html HTTP/1.1 -Accept-Language: en-US -Content-Type: charset=UTF-8;text/plain -Content-Length: 13 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: charset=UTF-8;text/plain +content-length: 13 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} My Sent Data diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.qml index 808fb3a18d..e65982e6cf 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.4.qml @@ -2,23 +2,19 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); x.setRequestHeader("Content-Type", "charset=UTF-8;text/plain"); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.5.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.5.qml index c8735173d3..b3c24a5328 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.5.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.5.qml @@ -2,23 +2,19 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); x.setRequestHeader("Content-Type", "charset=latin1;text/plain"); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.expect index f6c8083875..02062e905b 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.expect @@ -1,11 +1,11 @@ PUT /testdocument.html HTTP/1.1 -Accept-Language: en-US -Content-Type: text/plain;charset=UTF-8 -Content-Length: 13 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +content-type: text/plain;charset=UTF-8 +content-length: 13 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} My Sent Data diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.qml index ee6a9caa06..345d486669 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.6.qml @@ -2,19 +2,16 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("PUT", url); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.7.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.7.qml index 003a912818..a378624803 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.7.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.7.qml @@ -2,23 +2,19 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; x.open("POST", url); x.setRequestHeader("Content-Type", "text/plain"); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } x.send("My Sent Data\n"); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.8.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.8.expect index bcd7e79fc1..c580208eca 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.8.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.8.expect @@ -1,8 +1,8 @@ OPTIONS / HTTP/1.1 -Content-Length: 0 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -Accept-Language: en-US,* -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +content-length: 0 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +accept-language: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.9.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.9.expect index 2d4f2c3146..3a7ae3730d 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_data.9.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_data.9.expect @@ -1,8 +1,8 @@ OPTIONS /testdocument.html HTTP/1.1 -Content-Length: 0 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -Accept-Language: en-US,* -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +content-length: 0 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +accept-language: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData.qml index 336971c919..38fd3800d8 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData.qml @@ -9,19 +9,14 @@ QtObject { Component.onCompleted: { var x = new XMLHttpRequest; x.open(reqType, url); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { - if (reqType == "HEAD" || reqType == "DELETE") - dataOK = (x.responseText == ""); - else - dataOK = (x.responseText == "QML Rocks!\n"); - } + let expect = reqType == "HEAD" || reqType == "DELETE" ? "" : "QML Rocks!\n"; + if (x.readyState == XMLHttpRequest.DONE) + dataOK = (x.responseText == expect); } x.send("Data To Ignore"); } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_DELETE.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_DELETE.expect index 7d96c00101..feca475b75 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_DELETE.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_DELETE.expect @@ -1,8 +1,8 @@ DELETE /testdocument.html HTTP/1.1 -Accept-Language: en-US -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_GET.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_GET.expect index 2270e7f3aa..299bfd4689 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_GET.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_GET.expect @@ -1,8 +1,8 @@ GET /testdocument.html HTTP/1.1 -Accept-Language: en-US -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_HEAD.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_HEAD.expect index 064cf1b6b7..fa757aeac3 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_HEAD.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_ignoreData_HEAD.expect @@ -1,8 +1,8 @@ HEAD /testdocument.html HTTP/1.1 -Accept-Language: en-US -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.expect b/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.expect index 55f7f7dceb..d6ff9854a5 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.expect @@ -1,13 +1,13 @@ PATCH /qqmlxmlhttprequest.cpp HTTP/1.1 -Accept-Language: en-US -If-Match: "ETagNumber" -Content-Type: application/example -Content-Length: 247 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +if-match: "ETagNumber" +content-type: application/example +content-length: 247 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} --- a/qqmlxmlhttprequest.cpp +++ b/qqmlxmlhttprequest.cpp @@ -15,4 +15,3 @@ Host: {{ServerHostUrl}} - } else if (m_method == QLatin1String("OPTIONS")) { + } else if (m_method == QLatin1String("OPTIONS") || + (m_method == QLatin1String("PATCH"))) { - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.qml b/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.qml index 35a629fc92..d7d57b445c 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/send_patch.qml @@ -1,5 +1,5 @@ // Copyright (C) 2017 Canonical Limited and/or its subsidiary(-ies). -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import QtQuick 2.0 @@ -12,7 +12,6 @@ QtObject { Component.onCompleted: { var x = new XMLHttpRequest; x.open("PATCH", url); - x.setRequestHeader("Accept-Language","en-US"); x.setRequestHeader("If-Match","\"ETagNumber\""); // Test to the end diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.expect b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.expect index 003e54f33c..29d2d22030 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.expect @@ -1,10 +1,10 @@ GET /testdocument.html HTTP/1.1 -Accept-Language: en-US -Test-header: value -Test-header2: value,value2 -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +test-header: value +test-header2: value,value2 +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.qml b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.qml index 4229584af2..1490d0f108 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader.qml @@ -2,14 +2,11 @@ import QtQuick 2.0 QtObject { property string url - property bool dataOK: false Component.onCompleted: { var x = new XMLHttpRequest; - x.open("GET", url); - x.setRequestHeader("Accept-Language","en-US"); x.setRequestHeader("Test-header", "value"); x.setRequestHeader("Test-header2", "value"); @@ -25,5 +22,3 @@ QtObject { x.send(); } } - - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_caseInsensitive.qml b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_caseInsensitive.qml index e03f73431a..015682b5d5 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_caseInsensitive.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_caseInsensitive.qml @@ -9,12 +9,10 @@ QtObject { var x = new XMLHttpRequest; x.open("GET", url); - x.setRequestHeader("Accept-Language","en-US"); - x.setRequestHeader("Test-header", "value"); - //Setting headers with just different cases - //will be treated as the same header, and accepted - //as the last setting. + + // Setting headers differing only in case will treat them as one header, + // and the values are joined with a comma. x.setRequestHeader("Test-hEADEr2", "value"); x.setRequestHeader("Test-header2", "value2"); diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_illegalName.qml b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_illegalName.qml index cd047cf8dd..23a3c42fcc 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_illegalName.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_illegalName.qml @@ -21,11 +21,9 @@ QtObject { readyState = true; x.open("GET", url); - x.setRequestHeader("Accept-Language","en-US"); - x.setRequestHeader(header, "Value"); - if (x.readyState == XMLHttpRequest.OPENED) + if (x.readyState == XMLHttpRequest.OPENED) openedState = true; try { @@ -45,14 +43,10 @@ QtObject { // Test to the end x.onreadystatechange = function() { - if (x.readyState == XMLHttpRequest.DONE) { + if (x.readyState == XMLHttpRequest.DONE) dataOK = (x.responseText == "QML Rocks!\n"); - } } - x.send() } } - - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_sent.qml b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_sent.qml index 49888fdac8..2f37006de9 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_sent.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/setRequestHeader_sent.qml @@ -8,9 +8,7 @@ QtObject { Component.onCompleted: { var x = new XMLHttpRequest; - x.open("GET", url); - x.setRequestHeader("Accept-Language","en-US"); // Test to the end x.onreadystatechange = function() { @@ -29,4 +27,3 @@ QtObject { } } } - diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/status.expect b/tests/auto/qml/qqmlxmlhttprequest/data/status.expect index 2270e7f3aa..299bfd4689 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/status.expect +++ b/tests/auto/qml/qqmlxmlhttprequest/data/status.expect @@ -1,8 +1,8 @@ GET /testdocument.html HTTP/1.1 -Accept-Language: en-US -Connection: Keep-Alive{{Ignore}} -HTTP2-Settings: {{Ignore}} -Accept-Encoding: {{Ignore}} -User-Agent: Mozilla/5.0 -Host: {{ServerHostUrl}} +accept-language: {{Ignore}} +connection: Keep-Alive{{Ignore}} +http2-settings: {{Ignore}} +accept-encoding: {{Ignore}} +user-agent: Mozilla/5.0 +host: {{ServerHostUrl}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/status.qml b/tests/auto/qml/qqmlxmlhttprequest/data/status.qml index 94908f63c0..ed7268d6b3 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/status.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/status.qml @@ -30,8 +30,6 @@ QtObject { } x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - try { var a = x.status; } catch (e) { @@ -54,8 +52,6 @@ QtObject { dataOK = (x.responseText == "QML Rocks!\n"); x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - try { var a = x.status; } catch (e) { diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/statusText.qml b/tests/auto/qml/qqmlxmlhttprequest/data/statusText.qml index b47a0f1af0..cbc15b47f0 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/data/statusText.qml +++ b/tests/auto/qml/qqmlxmlhttprequest/data/statusText.qml @@ -27,8 +27,6 @@ QtObject { } x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - try { var a = x.statusText; } catch (e) { @@ -51,8 +49,6 @@ QtObject { dataOK = (x.responseText == "QML Rocks!\n") && (x.response == "QML Rocks!\n"); x.open("GET", url); - x.setRequestHeader("Accept-Language", "en-US"); - try { var a = x.statusText; } catch (e) { diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/text.expect b/tests/auto/qml/qqmlxmlhttprequest/data/text.expect new file mode 100644 index 0000000000..2b4314273f --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/text.expect @@ -0,0 +1,6 @@ +GET /text.xml HTTP/1.1 +host: {{ServerHostUrl}} +connection: Keep-Alive{{Ignore}} +accept-encoding: {{Ignore}} +accept-language: {{Ignore}} +user-agent: {{Ignore}} diff --git a/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp b/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp index 6517c58670..f908633193 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp +++ b/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qtest.h> #include <QQmlEngine> @@ -75,6 +75,7 @@ private slots: void statusText_data(); void responseText(); void responseText_data(); + void responseURL(); void responseXML_invalid(); void invalidMethodUsage(); void redirects(); @@ -89,6 +90,8 @@ private slots: void sendFileRequestNoRead(); #endif + void overrideMime(); + // WebDAV void sendPropfind(); void sendPropfind_data(); @@ -637,8 +640,6 @@ void tst_qqmlxmlhttprequest::send_options() void tst_qqmlxmlhttprequest::send_options_data() { - if (QLocale::system() != QLocale(QLocale::English, QLocale::UnitedStates)) - QSKIP("Test is locale dependent"); QTest::addColumn<QString>("url_suffix"); QTest::addColumn<QString>("file_expected"); QTest::addColumn<QString>("file_qml"); @@ -863,8 +864,6 @@ void tst_qqmlxmlhttprequest::getAllResponseHeaders_args() void tst_qqmlxmlhttprequest::getBinaryData() { - if (QLocale::system() != QLocale(QLocale::English, QLocale::UnitedStates)) - QSKIP("Test is locale dependent"); TestHTTPServer server; QVERIFY2(server.listen(), qPrintable(server.errorString())); QVERIFY(server.wait(testFileUrl("receive_binary_data.expect"), @@ -877,15 +876,13 @@ void tst_qqmlxmlhttprequest::getBinaryData() object->setProperty("url", server.urlString("/gml_logo.png")); component.completeCreate(); - QFileInfo fileInfo("data/qml_logo.png"); + const QFileInfo fileInfo(testFile("qml_logo.png")); QTRY_COMPARE(object->property("readSize").toInt(), fileInfo.size()); QCOMPARE(object->property("status").toInt(), 200); } void tst_qqmlxmlhttprequest::getJsonData() { - if (QLocale::system() != QLocale(QLocale::English, QLocale::UnitedStates)) - QSKIP("Test is locale dependent"); TestHTTPServer server; QVERIFY2(server.listen(), qPrintable(server.errorString())); QVERIFY(server.wait(testFileUrl("receive_json_data.expect"), @@ -1025,6 +1022,64 @@ void tst_qqmlxmlhttprequest::responseText_data() QTest::newRow("Internal server error") << testFileUrl("status.500.reply") << testFileUrl("testdocument.html") << "QML Rocks!\n"; } + +void tst_qqmlxmlhttprequest::responseURL() +{ + // 200 OK + { + TestHTTPServer server; + QVERIFY2(server.listen(), qPrintable(server.errorString())); + QVERIFY(server.wait(testFileUrl("status.expect"), + testFileUrl("status.200.reply"), + testFileUrl("testdocument.html"))); + + QQmlComponent component(engine.get(), testFileUrl("responseURL.qml")); + QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); + QVERIFY(!object.isNull()); + object->setProperty("url", server.urlString("/testdocument.html")); + object->setProperty("expectedURL", server.urlString("/testdocument.html")); + component.completeCreate(); + + QTRY_VERIFY(object->property("dataOK").toBool()); + } + + // 200 OK with the exclude fragment flag set + { + TestHTTPServer server; + QVERIFY2(server.listen(), qPrintable(server.errorString())); + QVERIFY(server.wait(testFileUrl("status.expect"), + testFileUrl("status.200.reply"), + testFileUrl("testdocument.html"))); + + QQmlComponent component(engine.get(), testFileUrl("responseURL.qml")); + QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); + QVERIFY(!object.isNull()); + object->setProperty("url", server.urlString("/testdocument.html#fragment")); + object->setProperty("expectedURL", server.urlString("/testdocument.html")); + component.completeCreate(); + + QTRY_VERIFY(object->property("dataOK").toBool()); + } + + // 302 Found + { + TestHTTPServer server; + QVERIFY2(server.listen(), qPrintable(server.errorString())); + server.addRedirect("redirect.html", server.urlString("/redirecttarget.html")); + server.serveDirectory(dataDirectory()); + + QQmlComponent component(engine.get(), testFileUrl("responseURL.qml")); + QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); + QVERIFY(!object.isNull()); + object->setProperty("url", server.urlString("/redirect.html")); + object->setProperty("expectedURL", server.urlString("/redirecttarget.html")); + component.completeCreate(); + + QTRY_VERIFY(object->property("dataOK").toBool()); + } +} + + void tst_qqmlxmlhttprequest::nonUtf8() { QFETCH(QString, fileName); @@ -1076,7 +1131,7 @@ void tst_qqmlxmlhttprequest::doFileRequest(std::function<void(QObject *component QTemporaryFile writeFile; QTemporaryFile readFile; - writeFile.open(); + QVERIFY(writeFile.open()); writeFile.close(); QVERIFY(readFile.open()); @@ -1242,8 +1297,6 @@ void tst_qqmlxmlhttprequest::sendFileRequestNoRead() { void tst_qqmlxmlhttprequest::sendPropfind() { - if (QLocale::system() != QLocale(QLocale::English, QLocale::UnitedStates)) - QSKIP("Test is locale dependent"); const QString prefix = "WebDAV//"; QFETCH(QString, qml); @@ -1277,14 +1330,17 @@ void tst_qqmlxmlhttprequest::sendPropfind_data() QTest::addColumn<QString>("replyHeader"); QTest::addColumn<QString>("replyBody"); - QTest::newRow("Send PROPFIND for file (bigbox, author, DingALing, Random properties). Get response with responseXML.") + QTest::newRow("Send PROPFIND for file (bigbox, author, DingALing, Random properties). " + "Get response with responseXML.") << "sendPropfind.responseXML.qml" << "/file" << "propfind.file.expect" << "propfind.file.reply.header" << "propfind.file.reply.body"; - QTest::newRow("Send PROPFIND for file (bigbox, author, DingALing, Random properties). Get response with response.") + QTest::newRow("Send PROPFIND for file (bigbox, author, DingALing, Random properties). " + "Get response with response.") << "sendPropfind.response.qml" << "/file" << "propfind.file.expect" << "propfind.file.reply.header" << "propfind.file.reply.body"; QTest::newRow("Send PROPFIND \"allprop\" request for collection.") - << "sendPropfind.collection.allprop.qml" << "/container/" << "propfind.collection.allprop.expect" + << "sendPropfind.collection.allprop.qml" << "/container/" + << "propfind.collection.allprop.expect" << "propfind.file.reply.header" << "propfind.collection.allprop.reply.body"; } @@ -1323,7 +1379,6 @@ void tst_qqmlxmlhttprequest::redirects() QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); QVERIFY(!object.isNull()); object->setProperty("url", server.urlString("/redirect.html")); - object->setProperty("expectedText", ""); component.completeCreate(); QTRY_VERIFY(object->property("done").toBool()); @@ -1340,7 +1395,6 @@ void tst_qqmlxmlhttprequest::redirects() QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); QVERIFY(!object.isNull()); object->setProperty("url", server.urlString("/redirect.html")); - object->setProperty("expectedText", ""); component.completeCreate(); QTRY_VERIFY(object->property("done").toBool()); @@ -1357,7 +1411,6 @@ void tst_qqmlxmlhttprequest::redirects() QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); QVERIFY(!object.isNull()); object->setProperty("url", server.urlString("/redirect.html")); - object->setProperty("expectedText", ""); component.completeCreate(); for (int ii = 0; ii < 60; ++ii) { @@ -1489,6 +1542,26 @@ void tst_qqmlxmlhttprequest::stateChangeCallingContext() QTRY_VERIFY(object->property("success").toBool()); } +void tst_qqmlxmlhttprequest::overrideMime() +{ + // overrideMimeType.reply sets the Content-Type to text/plain + // overrideMimeType.qml overrides it to text/xml and checks the responseXML property. + + TestHTTPServer server; + QVERIFY2(server.listen(), qPrintable(server.errorString())); + QVERIFY(server.wait(testFileUrl("text.expect"), + testFileUrl("overrideMimeType.reply"), + testFileUrl("text.xml"))); + + QQmlComponent component(engine.get(), testFileUrl("overrideMimeType.qml")); + QScopedPointer<QObject> object(component.beginCreate(engine.get()->rootContext())); + QVERIFY(!object.isNull()); + object->setProperty("url", server.urlString("/text.xml")); + component.completeCreate(); + + QTRY_VERIFY(object->property("dataOK").toBool()); +} + QTEST_MAIN(tst_qqmlxmlhttprequest) #include "tst_qqmlxmlhttprequest.moc" |