Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /fetch/api/basic/mode-same-origin.any.html - WPT Dashboard Interop Dashboard
- /fetch/api/basic/mode-same-origin.any.worker.html - WPT Dashboard Interop Dashboard
// 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);