summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/upgrade-insecure-requests/generic/test-case.sub.js
diff options
context:
space:
mode:
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.js43
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};
+}