Files
firefox/testing/web-platform/tests/fetch/api/basic/mode-same-origin.any.js
Boris Zbarsky f8795a66e0 Bug 1613239 [wpt PR 21582] - Replace some "promise_rejects(t, new FooError, stuff)" calls with pro…, a=testonly
Automatic update from web-platform-tests
Replace some "promise_rejects(t, new FooError, stuff)" calls with promise_rejects_js.

This diff was generated by running:

  find . -type f -print0 | xargs -0 perl -pi -e 'BEGIN { $/ = undef; } s/promise_rejects\(([ \n]*[a-zA-Z_]+[ \n]*,[ \n]*)(?:new )?([A-Z][A-Za-z]*Error) *(?:\(\))? *(, *.)/promise_rejects_js(\1\2\3/gs'

(which allows the optional "new" before "FooError" and an optional "()" after
it) and then:

1) Manually editing css/cssom-view/MediaQueryList-addListener-handleEvent.html
to make it get TypeError from the right global.

2) Manually editing fetch/api/response/response-error-from-stream.html to use
promise_rejects_exactly instead of the thing it was doing with a
CustomTestError.

3) Manually editing html/cross-origin-embedder-policy/require-corp.https.html
to use TypeError from the right global in the window.open case.

4) Manually editing
service-workers/service-worker/controller-with-no-fetch-event-handler.https.html
to use TypeError from the right global in the subframe case.

5) Manually editing
service-workers/service-worker/fetch-response-taint.https.html to use TypeError
from the right frame.

6) Manually editing
service-workers/service-worker/redirected-response.https.html to get the
TypeError from the right subframe in various places.

--

wpt-commits: ab733fd9f53eefdc034a2b96d08f080b355b6b10
wpt-pr: 21582
2020-02-14 19:08:35 +00:00

29 lines
1.3 KiB
JavaScript

// META: script=../resources/utils.js
// META: script=/common/get-host-info.sub.js
function fetchSameOrigin(url, shouldPass) {
promise_test(function(test) {
if (shouldPass)
return fetch(url , {"mode": "same-origin"}).then(function(resp) {
assert_equals(resp.status, 200, "HTTP status is 200");
assert_equals(resp.type, "basic", "response type is basic");
});
else
return promise_rejects_js(test, TypeError, fetch(url, {mode: "same-origin"}));
}, "Fetch "+ url + " with same-origin mode");
}
var host_info = get_host_info();
fetchSameOrigin(RESOURCES_DIR + "top.txt", true);
fetchSameOrigin(host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
fetchSameOrigin(host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
fetchSameOrigin(host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
fetchSameOrigin(redirPath + RESOURCES_DIR + "top.txt", true);
fetchSameOrigin(redirPath + host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
fetchSameOrigin(redirPath + host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
fetchSameOrigin(redirPath + host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);