diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
commit | 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch) | |
tree | a31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip |
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js')
-rw-r--r-- | testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js b/testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js new file mode 100644 index 0000000000..6652f85d4a --- /dev/null +++ b/testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js @@ -0,0 +1,43 @@ +// TODO(hiroshige): Document the type of `scenario`. +function TestCase(scenarios) { + function runTest(scenario) { + const urls = getRequestURLs(scenario.subresource, + scenario.origin, + scenario.redirection); + const checkResult = _ => { + // Send request to check if the key has been torn down. + return xhrRequest(urls.assertUrl) + .then(assertResult => { + // Now check if the value has been torn down. If it's still there, + // we have blocked the request to mixed-content. + assert_equals(assertResult.status, scenario.expectation, + "The resource request should be '" + scenario.expectation + "'."); + }); + }; + + /** @type {Subresource} */ + const subresource = { + subresourceType: scenario.subresource, + url: urls.testUrl, + policyDeliveries: scenario.subresource_policy_deliveries, + }; + + promise_test(() => { + return xhrRequest(urls.announceUrl) + // Send out the real resource request. + // This should tear down the key if it's not blocked. + .then(_ => invokeRequest(subresource, scenario.source_context_list)) + // We check the key state, regardless of whether the main request + // succeeded or failed. + .then(checkResult, checkResult); + }, scenario.test_description); + } // runTest + + function runTests() { + for (const scenario of scenarios) { + runTest(scenario); + } + } + + return {start: runTests}; +} |