Completely failed files: 209; Completely failed subtests: 751; Failure level: 751/2317 (32.41%)
| Test | Sf12 |
|---|---|
| /fetch/api/cors/cors-preflight-star.any.html (2/10, 20.00%, 0.09% of total) | OK |
| CORS that succeeds with credentials: false; method: OK (allowed: *); header: X-Test,1 (allowed: *) | FAIL |
| CORS that succeeds with credentials: false; method: SUPER (allowed: *); header: X-Test,1 (allowed: x-test) | FAIL |
| /fetch/api/request/request-init-stream.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Constructing a Request with a Request on which body.getReader() is called | FAIL |
| Constructing a Request with a Request on which body.getReader().read() is called | FAIL |
| Constructing a Request with a Request on which read() and releaseLock() are called | FAIL |
| Constructing a Request with a stream on which getReader() is called | FAIL |
| Constructing a Request with a stream on which read() and releaseLock() are called | FAIL |
| Constructing a Request with a stream on which read() is called | FAIL |
| /fetch/api/basic/keepalive.html (1/1, 100.00%, 0.04% of total) | OK |
| Fetch API: keepalive handling | FAIL |
| /fetch/api/cors/cors-cookies-redirect.any.html (4/4, 100.00%, 0.17% of total) | TIMEOUT |
| Clean cookies | NOTRUN |
| Set cookies | TIMEOUT |
| Testing credentials after cross-origin redirection with CORS and no preflight | NOTRUN |
| Testing credentials after cross-origin redirection with CORS and preflight | NOTRUN |
| /fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| preload-image-png-mislabeled-as-html-nosniff | FAIL |
| /fetch/api/basic/header-value-null-byte.any.html (1/1, 100.00%, 0.04% of total) | OK |
| Ensure fetch() rejects null bytes in headers | FAIL |
| /fetch/api/response/response-from-stream.any.html (3/3, 100.00%, 0.13% of total) | OK |
| Constructing a Response with a stream on which getReader() is called | FAIL |
| Constructing a Response with a stream on which read() and releaseLock() are called | FAIL |
| Constructing a Response with a stream on which read() is called | FAIL |
| /fetch/http-cache/invalidate.html (9/15, 60.00%, 0.39% of total) | OK |
| HTTP cache does not invalidate after a failed response from an unsafe request | FAIL |
| HTTP cache invalidates Content-Location URL after a successful response from a DELETE | FAIL |
| HTTP cache invalidates Content-Location URL after a successful response from a POST | FAIL |
| HTTP cache invalidates Content-Location URL after a successful response from a PUT | FAIL |
| HTTP cache invalidates Content-Location URL after a successful response from an unknown method | FAIL |
| HTTP cache invalidates Location URL after a successful response from a DELETE | FAIL |
| HTTP cache invalidates Location URL after a successful response from a POST | FAIL |
| HTTP cache invalidates Location URL after a successful response from a PUT | FAIL |
| HTTP cache invalidates Location URL after a successful response from an unknown method | FAIL |
| /fetch/http-cache/cc-request.html (6/12, 50.00%, 0.26% of total) | OK |
| HTTP cache doesn't reuse fresh response when request contains Cache-Control: min-fresh that wants it fresher | FAIL |
| HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-store | FAIL |
| HTTP cache doesn't reuse fresh response with Age header when request contains Cache-Control: min-fresh that wants it fresher | FAIL |
| HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1 | FAIL |
| HTTP cache doesn't use fresh response with Age header when request contains Cache-Control: max-age that is greater than remaining freshness | FAIL |
| HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached | FAIL |
| /fetch/sec-metadata/worker.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| Same-Origin worker | FAIL |
| /fetch/api/request/request-disturbed.html (3/9, 33.33%, 0.13% of total) | OK |
| Check creating a new request with a new body from a disturbed request | FAIL |
| Input request used for creating new request became disturbed | FAIL |
| Input request used for creating new request became disturbed even if body is not used | FAIL |
| /fetch/api/basic/request-headers.any.html (2/24, 8.33%, 0.09% of total) | OK |
| Fetch with Chicken | FAIL |
| Fetch with HEAD | FAIL |
| /fetch/origin/no-cors.any.html (1/1, 100.00%, 0.04% of total) | OK |
| Origin header and 308 redirect | FAIL |
| /fetch/sec-metadata/redirect/same-origin-redirect.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Same-Origin -> Cross-Site redirect | FAIL |
| Same-Origin -> Same-Origin redirect | FAIL |
| Same-Origin -> Same-Site redirect | FAIL |
| /fetch/api/response/response-consume-empty.html (4/14, 28.57%, 0.17% of total) | OK |
| Consume empty FormData response body as text | FAIL |
| Consume response's body as formData with correct multipart type (error case) | FAIL |
| Consume response's body as formData with correct urlencoded type | FAIL |
| Consume response's body as formData without correct type (error case) | FAIL |
| /fetch/sec-metadata/window-open.tentative.https.sub.html (6/6, 100.00%, 0.26% of total) | ERROR |
| Cross-site window, forced | TIMEOUT |
| Cross-site window, user-activated | TIMEOUT |
| Same-origin window, forced | TIMEOUT |
| Same-origin window, user-activated | TIMEOUT |
| Same-site window, forced | TIMEOUT |
| Same-site window, user-activated | TIMEOUT |
| /fetch/cross-origin-resource-policy/fetch-in-iframe.html (2/5, 40.00%, 0.09% of total) | TIMEOUT |
| Cross-origin fetch in a cross origin iframe load fails if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-site' response header. | TIMEOUT |
| Same-origin fetch in a cross origin iframe load succeeds if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-origin' response header. | NOTRUN |
| /fetch/content-encoding/bad-gzip-body.any.html (5/6, 83.33%, 0.22% of total) | TIMEOUT |
| Consuming the body of a resource with bad gzip content with arrayBuffer() should reject | TIMEOUT |
| Consuming the body of a resource with bad gzip content with blob() should reject | NOTRUN |
| Consuming the body of a resource with bad gzip content with formData() should reject | NOTRUN |
| Consuming the body of a resource with bad gzip content with json() should reject | NOTRUN |
| Consuming the body of a resource with bad gzip content with text() should reject | NOTRUN |
| /fetch/sec-metadata/embed.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-Site embed | NOTRUN |
| Same-Origin embed | TIMEOUT |
| Same-Site embed | NOTRUN |
| /fetch/api/cors/cors-redirect-credentials.any.html (65/65, 100.00%, 2.81% of total) | TIMEOUT |
| Redirect 301 from remote to another remote with password | NOTRUN |
| Redirect 301 from remote to another remote with user | NOTRUN |
| Redirect 301 from remote to another remote with user and password | NOTRUN |
| Redirect 301 from remote to same origin with password | NOTRUN |
| Redirect 301 from remote to same origin with user | NOTRUN |
| Redirect 301 from remote to same origin with user and password | NOTRUN |
| Redirect 301 from remote to same remote with password | NOTRUN |
| Redirect 301 from remote to same remote with user | NOTRUN |
| Redirect 301 from remote to same remote with user and password | NOTRUN |
| Redirect 301 from same origin to remote with password | NOTRUN |
| Redirect 301 from same origin to remote with user | NOTRUN |
| Redirect 301 from same origin to remote with user and password | NOTRUN |
| Redirect 301 from same origin to remote without user and password | TIMEOUT |
| Redirect 302 from remote to another remote with password | NOTRUN |
| Redirect 302 from remote to another remote with user | NOTRUN |
| Redirect 302 from remote to another remote with user and password | NOTRUN |
| Redirect 302 from remote to same origin with password | NOTRUN |
| Redirect 302 from remote to same origin with user | NOTRUN |
| Redirect 302 from remote to same origin with user and password | NOTRUN |
| Redirect 302 from remote to same remote with password | NOTRUN |
| Redirect 302 from remote to same remote with user | NOTRUN |
| Redirect 302 from remote to same remote with user and password | NOTRUN |
| Redirect 302 from same origin to remote with password | NOTRUN |
| Redirect 302 from same origin to remote with user | NOTRUN |
| Redirect 302 from same origin to remote with user and password | NOTRUN |
| Redirect 302 from same origin to remote without user and password | NOTRUN |
| Redirect 303 from remote to another remote with password | NOTRUN |
| Redirect 303 from remote to another remote with user | NOTRUN |
| Redirect 303 from remote to another remote with user and password | NOTRUN |
| Redirect 303 from remote to same origin with password | NOTRUN |
| Redirect 303 from remote to same origin with user | NOTRUN |
| Redirect 303 from remote to same origin with user and password | NOTRUN |
| Redirect 303 from remote to same remote with password | NOTRUN |
| Redirect 303 from remote to same remote with user | NOTRUN |
| Redirect 303 from remote to same remote with user and password | NOTRUN |
| Redirect 303 from same origin to remote with password | NOTRUN |
| Redirect 303 from same origin to remote with user | NOTRUN |
| Redirect 303 from same origin to remote with user and password | NOTRUN |
| Redirect 303 from same origin to remote without user and password | NOTRUN |
| Redirect 307 from remote to another remote with password | NOTRUN |
| Redirect 307 from remote to another remote with user | NOTRUN |
| Redirect 307 from remote to another remote with user and password | NOTRUN |
| Redirect 307 from remote to same origin with password | NOTRUN |
| Redirect 307 from remote to same origin with user | NOTRUN |
| Redirect 307 from remote to same origin with user and password | NOTRUN |
| Redirect 307 from remote to same remote with password | NOTRUN |
| Redirect 307 from remote to same remote with user | NOTRUN |
| Redirect 307 from remote to same remote with user and password | NOTRUN |
| Redirect 307 from same origin to remote with password | NOTRUN |
| Redirect 307 from same origin to remote with user | NOTRUN |
| Redirect 307 from same origin to remote with user and password | NOTRUN |
| Redirect 307 from same origin to remote without user and password | NOTRUN |
| Redirect 308 from remote to another remote with password | NOTRUN |
| Redirect 308 from remote to another remote with user | NOTRUN |
| Redirect 308 from remote to another remote with user and password | NOTRUN |
| Redirect 308 from remote to same origin with password | NOTRUN |
| Redirect 308 from remote to same origin with user | NOTRUN |
| Redirect 308 from remote to same origin with user and password | NOTRUN |
| Redirect 308 from remote to same remote with password | NOTRUN |
| Redirect 308 from remote to same remote with user | NOTRUN |
| Redirect 308 from remote to same remote with user and password | NOTRUN |
| Redirect 308 from same origin to remote with password | NOTRUN |
| Redirect 308 from same origin to remote with user | NOTRUN |
| Redirect 308 from same origin to remote with user and password | NOTRUN |
| Redirect 308 from same origin to remote without user and password | NOTRUN |
| /fetch/api/abort/keepalive.html (2/2, 100.00%, 0.09% of total) | TIMEOUT |
| aborting a detached keepalive fetch should not do anything | NOTRUN |
| aborting a keepalive fetch should work | TIMEOUT |
| /fetch/api/basic/request-upload.any.html (6/17, 35.29%, 0.26% of total) | OK |
| Fetch with POST with ReadableStream | FAIL |
| Fetch with POST with ReadableStream containing ArrayBuffer | FAIL |
| Fetch with POST with ReadableStream containing Blob | FAIL |
| Fetch with POST with ReadableStream containing String | FAIL |
| Fetch with POST with ReadableStream containing null | FAIL |
| Fetch with POST with ReadableStream containing number | FAIL |
| /fetch/api/policies/referrer-origin-when-cross-origin-worker.html (1/1, 100.00%, 0.04% of total) | OK |
| Request's referrer is origin | FAIL |
| /fetch/corb/img-mime-types-coverage.tentative.sub.html (15/33, 45.45%, 0.65% of total) | OK |
| CORB should block the response if Content-Type is: 'APPLICATION/BLAH+XML'. | FAIL |
| CORB should block the response if Content-Type is: 'TEXT/BLAH+JSON'. | FAIL |
| CORB should block the response if Content-Type is: 'TEXT/HTML'. | FAIL |
| CORB should block the response if Content-Type is: 'TEXT/JSON'. | FAIL |
| CORB should block the response if Content-Type is: 'application/blah+json'. | FAIL |
| CORB should block the response if Content-Type is: 'application/blah+xml'. | FAIL |
| CORB should block the response if Content-Type is: 'application/json'. | FAIL |
| CORB should block the response if Content-Type is: 'application/xml'. | FAIL |
| CORB should block the response if Content-Type is: 'text/HTML;NO=it;does=NOT'. | FAIL |
| CORB should block the response if Content-Type is: 'text/blah+json'. | FAIL |
| CORB should block the response if Content-Type is: 'text/blah+xml'. | FAIL |
| CORB should block the response if Content-Type is: 'text/html'. | FAIL |
| CORB should block the response if Content-Type is: 'text/json'. | FAIL |
| CORB should block the response if Content-Type is: 'text/json;does=it;matter'. | FAIL |
| CORB should block the response if Content-Type is: 'text/xml'. | FAIL |
| /fetch/api/cors/cors-preflight-not-cors-safelisted.any.html (2/10, 20.00%, 0.09% of total) | OK |
| Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header | FAIL |
| Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header | FAIL |
| /fetch/api/cors/cors-origin.any.html (15/17, 88.24%, 0.65% of total) | TIMEOUT |
| Allowed origin: "" [origin KO] | NOTRUN |
| CORS preflight [PUT] [origin KO] | NOTRUN |
| CORS preflight [PUT] [origin OK] | NOTRUN |
| Cross domain [HEAD] [origin KO] | NOTRUN |
| Cross domain [HEAD] [origin OK] | NOTRUN |
| Cross domain [POST] [origin KO] | NOTRUN |
| Cross domain [POST] [origin OK] | NOTRUN |
| Cross domain different port [origin KO] | NOTRUN |
| Cross domain different port [origin OK] | NOTRUN |
| Cross domain different protocol [origin KO] | NOTRUN |
| Cross domain different protocol [origin OK] | NOTRUN |
| Same domain different port [origin KO] | NOTRUN |
| Same domain different port [origin OK] | TIMEOUT |
| Same domain different protocol different port [origin KO] | NOTRUN |
| Same domain different protocol different port [origin OK] | NOTRUN |
| /fetch/api/request/request-reset-attributes.https.html (2/3, 66.67%, 0.09% of total) | OK |
| Request.isHistoryNavigation is reset with non-empty RequestInit | FAIL |
| Request.isReloadNavigation is reset with non-empty RequestInit | FAIL |
| /fetch/sec-metadata/redirect/multiple-redirect-same-site.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| Same-Origin -> Same-Site -> Same-Origin redirect | FAIL |
| /fetch/api/request/destination/fetch-destination-no-load-event.https.html (4/8, 50.00%, 0.17% of total) | TIMEOUT |
| @import fetches with a "style" Request.destination | NOTRUN |
| Cache.add() fetches with an empty string Request.destination | NOTRUN |
| importScripts() fetches with a "script" Request.destination | NOTRUN |
| sendBeacon() fetches with an empty string Request.destination | TIMEOUT |
| /fetch/api/policies/referrer-origin-worker.html (2/2, 100.00%, 0.09% of total) | OK |
| Cross-origin referrer is overridden by client origin | FAIL |
| Request's referrer is origin | FAIL |
| /fetch/sec-metadata/fetch.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-site fetch | FAIL |
| Same-origin fetch | FAIL |
| Same-site fetch | FAIL |
| /fetch/api/abort/serviceworker-intercepted.https.html (7/7, 100.00%, 0.30% of total) | TIMEOUT |
| Already aborted request does not land in service worker | FAIL |
| Stream errors once aborted. | NOTRUN |
| response.arrayBuffer() rejects if already aborted | FAIL |
| response.blob() rejects if already aborted | FAIL |
| response.formData() rejects if already aborted | FAIL |
| response.json() rejects if already aborted | FAIL |
| response.text() rejects if already aborted | TIMEOUT |
| /fetch/api/redirect/redirect-count.any.html (10/10, 100.00%, 0.43% of total) | OK |
| Redirect 301 20 times | FAIL |
| Redirect 301 21 times | FAIL |
| Redirect 302 20 times | FAIL |
| Redirect 302 21 times | FAIL |
| Redirect 303 20 times | FAIL |
| Redirect 303 21 times | FAIL |
| Redirect 307 20 times | FAIL |
| Redirect 307 21 times | FAIL |
| Redirect 308 20 times | FAIL |
| Redirect 308 21 times | FAIL |
| /fetch/http-cache/heuristic.html (1/16, 6.25%, 0.04% of total) | OK |
| HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present | FAIL |
| /fetch/api/redirect/redirect-origin.any.html (8/20, 40.00%, 0.35% of total) | TIMEOUT |
| Other origin to other origin redirection 307 | NOTRUN |
| Other origin to other origin redirection 308 | NOTRUN |
| Other origin to same origin redirection 307 | NOTRUN |
| Other origin to same origin redirection 308 | NOTRUN |
| Same origin to other origin redirection 307 | NOTRUN |
| Same origin to other origin redirection 308 | NOTRUN |
| Same origin to same origin redirection 307 | TIMEOUT |
| Same origin to same origin redirection 308 | NOTRUN |
| /fetch/api/cors/cors-preflight-status.any.html (12/27, 44.44%, 0.52% of total) | TIMEOUT |
| Preflight answered with status 308 | TIMEOUT |
| Preflight answered with status 400 | NOTRUN |
| Preflight answered with status 401 | NOTRUN |
| Preflight answered with status 402 | NOTRUN |
| Preflight answered with status 403 | NOTRUN |
| Preflight answered with status 404 | NOTRUN |
| Preflight answered with status 405 | NOTRUN |
| Preflight answered with status 501 | NOTRUN |
| Preflight answered with status 502 | NOTRUN |
| Preflight answered with status 503 | NOTRUN |
| Preflight answered with status 504 | NOTRUN |
| Preflight answered with status 505 | NOTRUN |
| /fetch/api/basic/header-value-combining.any.html (2/6, 33.33%, 0.09% of total) | OK |
| response.headers.get('double-trouble') expects , | FAIL |
| response.headers.get('heya') expects , , 1, , , 2 | FAIL |
| /fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html (8/14, 57.14%, 0.35% of total) | OK |
| <iframe id="dangling"\n src=" data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src=" data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="\ndata:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="\rdata:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="\tdata:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <img id="dangling" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> | FAIL |
| <img id="dangling" src="data:image/png;base64,i VBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> | FAIL |
| /fetch/api/abort/general.any.html (30/48, 62.50%, 1.29% of total) | TIMEOUT |
| Aborting rejects with AbortError | FAIL |
| Aborting rejects with AbortError - no-cors | FAIL |
| Already aborted signal can be used for many fetches | FAIL |
| Already aborted signal does not make request | FAIL |
| Already aborted signal rejects immediately | FAIL |
| Clone aborts with original controller | FAIL |
| Fetch aborted & connection closed when aborted after calling response.arrayBuffer() | NOTRUN |
| Fetch aborted & connection closed when aborted after calling response.blob() | NOTRUN |
| Fetch aborted & connection closed when aborted after calling response.formData() | NOTRUN |
| Fetch aborted & connection closed when aborted after calling response.json() | NOTRUN |
| Fetch aborted & connection closed when aborted after calling response.text() | NOTRUN |
| Readable stream synchronously cancels with AbortError if aborted before reading | NOTRUN |
| Request objects have a signal property | FAIL |
| Signal can be used to abort other fetches, even if another fetch succeeded before aborting | FAIL |
| Signal on request object | FAIL |
| Signal on request object created from request object | FAIL |
| Signal on request object created from request object, with signal on second request | FAIL |
| Signal on request object created from request object, with signal on second request overriding another | FAIL |
| Signal retained after unrelated properties are overridden by fetch | FAIL |
| Signal state is cloned | FAIL |
| Stream errors once aborted, after reading. Underlying connection closed. | NOTRUN |
| Stream errors once aborted. Underlying connection closed. | NOTRUN |
| Stream will not error if body is empty. It's closed with an empty queue before it errors. | NOTRUN |
| Underlying connection is closed when aborting after receiving response | TIMEOUT |
| Underlying connection is closed when aborting after receiving response - no-cors | NOTRUN |
| response.arrayBuffer() rejects if already aborted | FAIL |
| response.blob() rejects if already aborted | FAIL |
| response.formData() rejects if already aborted | FAIL |
| response.json() rejects if already aborted | FAIL |
| response.text() rejects if already aborted | FAIL |
| /fetch/sec-metadata/script.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-site script | FAIL |
| Same-origin script | FAIL |
| Same-site script | FAIL |
| /fetch/nosniff/parsing-nosniff.window.html (2/15, 13.33%, 0.09% of total) | OK |
| X-Content-Type-Options%3A%20nosniff%0B | FAIL |
| X-Content-Type-Options%3A%20nosniff%0C | FAIL |
| /fetch/api/response/response-init-001.html (1/9, 11.11%, 0.04% of total) | OK |
| Check default value for statusText attribute | FAIL |
| /fetch/api/redirect/redirect-referrer.any.html (13/32, 40.63%, 0.56% of total) | TIMEOUT |
| Cross origin redirection, empty init, no-referrer redirect header | NOTRUN |
| Cross origin redirection, empty init, origin redirect header | TIMEOUT |
| Cross origin redirection, empty init, origin-when-cross-origin redirect header | NOTRUN |
| Cross origin redirection, empty init, strict-origin redirect header | NOTRUN |
| Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header | NOTRUN |
| Cross origin redirection, empty redirect header, no-referrer init | NOTRUN |
| Cross origin redirection, empty redirect header, no-referrer-when-downgrade init | NOTRUN |
| Cross origin redirection, empty redirect header, origin init | NOTRUN |
| Cross origin redirection, empty redirect header, origin-when-cross-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, same-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, strict-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, strict-origin-when-cross-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, unsafe-url init | NOTRUN |
| /fetch/http-cache/status.html (14/26, 53.85%, 0.60% of total) | TIMEOUT |
| HTTP cache avoids going to the network if it has a fresh 299 response | FAIL |
| HTTP cache avoids going to the network if it has a fresh 400 response | FAIL |
| HTTP cache avoids going to the network if it has a fresh 499 response | NOTRUN |
| HTTP cache avoids going to the network if it has a fresh 500 response | NOTRUN |
| HTTP cache avoids going to the network if it has a fresh 502 response | NOTRUN |
| HTTP cache avoids going to the network if it has a fresh 503 response | NOTRUN |
| HTTP cache avoids going to the network if it has a fresh 504 response | NOTRUN |
| HTTP cache avoids going to the network if it has a fresh 599 response | NOTRUN |
| HTTP cache goes to the network if it has a stale 499 response | TIMEOUT |
| HTTP cache goes to the network if it has a stale 500 response | NOTRUN |
| HTTP cache goes to the network if it has a stale 502 response | NOTRUN |
| HTTP cache goes to the network if it has a stale 503 response | NOTRUN |
| HTTP cache goes to the network if it has a stale 504 response | NOTRUN |
| HTTP cache goes to the network if it has a stale 599 response | NOTRUN |
| /fetch/api/headers/headers-no-cors.window.html (6/19, 31.58%, 0.26% of total) | OK |
| "no-cors" Headers object cannot have accept set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss | FAIL |
| "no-cors" Headers object cannot have accept-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss | FAIL |
| "no-cors" Headers object cannot have accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 as header | FAIL |
| "no-cors" Headers object cannot have content-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss | FAIL |
| "no-cors" Headers object cannot have content-type set to text/plain;ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, text/plain | FAIL |
| "no-cors" Headers object cannot have content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 as header | FAIL |
| /fetch/api/request/destination/fetch-destination-prefetch.https.html (1/2, 50.00%, 0.04% of total) | TIMEOUT |
| HTMLLinkElement with rel=prefetch fetches with an empty string Request.destination | TIMEOUT |
| /fetch/api/response/response-consume.html (22/39, 56.41%, 0.95% of total) | OK |
| Consume response's body: from FormData to arrayBuffer | FAIL |
| Consume response's body: from FormData to blob | FAIL |
| Consume response's body: from FormData to formData | FAIL |
| Consume response's body: from FormData to text | FAIL |
| Consume response's body: from FormData without correct type to formData (error case) | FAIL |
| Consume response's body: from URLSearchParams to blob | FAIL |
| Consume response's body: from URLSearchParams to formData | FAIL |
| Consume response's body: from URLSearchParams without correct type to formData (error case) | FAIL |
| Consume response's body: from blob with correct multipart type to formData | FAIL |
| Consume response's body: from blob with correct urlencoded type to formData | FAIL |
| Consume response's body: from blob without correct multipart type to formData (error case) | FAIL |
| Consume response's body: from blob without correct urlencoded type to formData (error case) | FAIL |
| Consume response's body: from fetch without correct type to formData (error case) | FAIL |
| Consume response's body: from multipart form data blob to formData | FAIL |
| Consume response's body: from stream with correct multipart type to formData | FAIL |
| Consume response's body: from stream with correct urlencoded type to formData | FAIL |
| Consume response's body: from stream without correct multipart type to formData (error case) | FAIL |
| Consume response's body: from stream without correct urlencoded type to formData (error case) | FAIL |
| Consume response's body: from text with correct multipart type to formData | FAIL |
| Consume response's body: from text with correct urlencoded type to formData | FAIL |
| Consume response's body: from text without correct multipart type to formData (error case) | FAIL |
| Consume response's body: from text without correct urlencoded type to formData (error case) | FAIL |
| /fetch/api/credentials/cookies.any.html (5/7, 71.43%, 0.22% of total) | OK |
| Include mode: 1 cookie | FAIL |
| Include mode: 2 cookies | FAIL |
| Omit mode: no cookie is stored | FAIL |
| Same-origin mode: 1 cookie | FAIL |
| Same-origin mode: 2 cookies | FAIL |
| /fetch/api/response/response-consume-stream.html (1/9, 11.11%, 0.04% of total) | OK |
| Read form data response's body as readableStream | FAIL |
| /fetch/api/abort/cache.https.html (2/2, 100.00%, 0.09% of total) | OK |
| Signals are not stored in the cache API | FAIL |
| Signals are not stored in the cache API, even if they're already aborted | FAIL |
| /fetch/api/request/destination/fetch-destination.https.html (21/25, 84.00%, 0.91% of total) | TIMEOUT |
| EventSource() fetches with an empty string Request.destination | NOTRUN |
| HTMLAudioElement fetches with an "audio" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=audio fetches with a "audio" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=document fetches with a "document" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=fetch fetches with an empty string Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=font fetches with a "font" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=image fetches with a "image" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=manifest fetches with a "manifest" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=script fetches with a "script" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=sharedworker fetches with a "sharedworker" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=style fetches with a "style" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=track fetches with a "track" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=video fetches with a "video" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=worker fetches with a "worker" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=xslt fetches with a "xslt" Request.destination | NOTRUN |
| HTMLLinkElement with rel=stylesheet fetches with a "style" Request.destination | NOTRUN |
| HTMLScriptElement fetches with a "script" Request.destination | NOTRUN |
| HTMLVideoElement fetches with a "video" Request.destination | NOTRUN |
| SVGImageElement fetches with an "image" Request.destination | TIMEOUT |
| XMLHttpRequest() fetches with an empty string Request.destination | NOTRUN |
| fetch() fetches with an empty string Request.destination | NOTRUN |
| /fetch/sec-metadata/style.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-Site style | NOTRUN |
| Same-Origin style | FAIL |
| Same-Site style | TIMEOUT |
| /fetch/api/request/request-keepalive-quota.html?include=fast (1/1, 100.00%, 0.04% of total) | TIMEOUT |
| undefined | TIMEOUT |
| /fetch/sec-metadata/object.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-Site object | NOTRUN |
| Same-Origin object | TIMEOUT |
| Same-Site object | NOTRUN |
| /fetch/api/cors/cors-filtering.sub.any.html (19/19, 100.00%, 0.82% of total) | TIMEOUT |
| CORS filter on Age header | NOTRUN |
| CORS filter on Age header, header is exposed | NOTRUN |
| CORS filter on Cache-Control header | TIMEOUT |
| CORS filter on Content-Language header | NOTRUN |
| CORS filter on Content-Length header | NOTRUN |
| CORS filter on Content-Type header | NOTRUN |
| CORS filter on Expires header | NOTRUN |
| CORS filter on Last-Modified header | NOTRUN |
| CORS filter on Pragma header | NOTRUN |
| CORS filter on Server header | NOTRUN |
| CORS filter on Server header, header is exposed | NOTRUN |
| CORS filter on Set-Cookie header | NOTRUN |
| CORS filter on Set-Cookie header, header is forbidden | NOTRUN |
| CORS filter on Set-Cookie header, header is forbidden(credentials = include) | NOTRUN |
| CORS filter on Set-Cookie2 header | NOTRUN |
| CORS filter on Set-Cookie2 header, header is forbidden | NOTRUN |
| CORS filter on Set-Cookie2 header, header is forbidden(credentials = include) | NOTRUN |
| CORS filter on Warning header | NOTRUN |
| CORS filter on Warning header, header is exposed | NOTRUN |
| /fetch/api/redirect/redirect-location.any.html (5/30, 16.67%, 0.22% of total) | OK |
| Redirect 301 in "manual" mode without location | FAIL |
| Redirect 302 in "manual" mode without location | FAIL |
| Redirect 303 in "manual" mode without location | FAIL |
| Redirect 307 in "manual" mode without location | FAIL |
| Redirect 308 in "manual" mode without location | FAIL |
| /fetch/api/redirect/redirect-empty-location.any.html (2/2, 100.00%, 0.09% of total) | OK |
| redirect response with empty Location, follow mode | FAIL |
| redirect response with empty Location, manual mode | FAIL |
| /fetch/cross-origin-resource-policy/image-loads.html (2/6, 33.33%, 0.09% of total) | OK |
| Cross-origin cors image load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin cors image load with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| /fetch/sec-metadata/redirect/same-site-redirect.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Same-Site -> Cross-Site redirect | FAIL |
| Same-Site -> Same-Origin redirect | FAIL |
| Same-Site -> Same-Site redirect | FAIL |
| /fetch/sec-metadata/track.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | ERROR |
| Cross-Site track | NOTRUN |
| Same-Origin track | TIMEOUT |
| Same-Site track | NOTRUN |
| /fetch/http-cache/304-update.html (1/5, 20.00%, 0.04% of total) | OK |
| Content-* header | FAIL |
| /fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html (1/2, 50.00%, 0.04% of total) | OK |
| Request's referrer is origin | FAIL |
| /fetch/cors-rfc1918/idlharness.tentative.any.html (2/6, 33.33%, 0.09% of total) | OK |
| Document interface: attribute addressSpace | FAIL |
| Document interface: document must inherit property "addressSpace" with the proper type | FAIL |
| /fetch/api/idl.any.html (10/139, 7.19%, 0.43% of total) | OK |
| Request interface: attribute isHistoryNavigation | FAIL |
| Request interface: attribute isReloadNavigation | FAIL |
| Request interface: attribute keepalive | FAIL |
| Request interface: attribute signal | FAIL |
| Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type | FAIL |
| Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type | FAIL |
| Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type | FAIL |
| Request interface: new Request('about:blank') must inherit property "signal" with the proper type | FAIL |
| Response interface: attribute trailer | FAIL |
| Response interface: new Response() must inherit property "trailer" with the proper type | FAIL |
| /fetch/http-cache/partial.html (7/8, 87.50%, 0.30% of total) | OK |
| HTTP cache stores complete response and serves smaller ranges from it (absent last-byte-pos) | FAIL |
| HTTP cache stores complete response and serves smaller ranges from it (byte-range-spec) | FAIL |
| HTTP cache stores complete response and serves smaller ranges from it (suffix-byte-range-spec) | FAIL |
| HTTP cache stores partial content and completes it | FAIL |
| HTTP cache stores partial response and serves smaller ranges from it (absent last-byte-pos) | FAIL |
| HTTP cache stores partial response and serves smaller ranges from it (byte-range-spec) | FAIL |
| HTTP cache stores partial response and serves smaller ranges from it (suffix-byte-range-spec) | FAIL |
| /fetch/sec-metadata/redirect/cross-site-redirect.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-Site -> Cross-Site redirect | FAIL |
| Cross-Site -> Same-Origin redirect | FAIL |
| Cross-Site -> Same-Site redirect | FAIL |
| /fetch/api/cors/cors-preflight.any.html (4/16, 25.00%, 0.17% of total) | TIMEOUT |
| CORS [GET] [several headers], server refuses | TIMEOUT |
| CORS [PUT] [only safe headers], server allows | NOTRUN |
| CORS [PUT] [several headers], server allows | NOTRUN |
| CORS [PUT] [several headers], server refuses | NOTRUN |
| /fetch/api/cors/cors-expose-star.sub.any.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| * can be one of several values | NOTRUN |
| * for credentialed fetches only matches literally | NOTRUN |
| Basic Access-Control-Expose-Headers: * support | TIMEOUT |
| /fetch/api/cors/cors-cookies.any.html (1/6, 16.67%, 0.04% of total) | OK |
| Include mode: remote cookies are not sent with local request | FAIL |
| /fetch/sec-metadata/iframe.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-site iframe | TIMEOUT |
| Same-origin iframe | FAIL |
| Same-site iframe | TIMEOUT |
| /fetch/cross-origin-resource-policy/script-loads.html (2/6, 33.33%, 0.09% of total) | OK |
| Cross-origin cors script load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin cors script load with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| /fetch/corb/script-resource-with-json-parser-breaker.tentative.sub.html (27/27, 100.00%, 1.17% of total) | OK |
| CORB-blocks 'application/javascript' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'application/javascript' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'application/javascript' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'application/pdf' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'application/pdf' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'application/pdf' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'application/zip' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'application/zip' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'application/zip' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'image/png' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'image/png' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'image/png' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'image/svg+xml' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'image/svg+xml' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'image/svg+xml' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'text/html' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'text/html' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'text/html' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'text/json' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'text/json' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'text/json' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'text/plain' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'text/plain' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'text/plain' that starts with the following JSON parser breaker: {}&& | FAIL |
| CORB-blocks 'text/xml' that starts with the following JSON parser breaker: )]}' | FAIL |
| CORB-blocks 'text/xml' that starts with the following JSON parser breaker: {} && | FAIL |
| CORB-blocks 'text/xml' that starts with the following JSON parser breaker: {}&& | FAIL |
| /fetch/sec-metadata/img.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-site image | FAIL |
| Same-origin image | FAIL |
| Same-site image | FAIL |
| /fetch/api/cors/cors-no-preflight.any.html (14/15, 93.33%, 0.60% of total) | TIMEOUT |
| Cross domain [GET] [Accept-Language: fr] | NOTRUN |
| Cross domain [GET] [Accept: */*] | NOTRUN |
| Cross domain [GET] [Content-Language: fr] | NOTRUN |
| Cross domain [GET] [Content-Type: Text/Plain;charset=utf-8] | NOTRUN |
| Cross domain [GET] [Content-Type: application/x-www-form-urlencoded] | NOTRUN |
| Cross domain [GET] [Content-Type: multipart/form-data] | NOTRUN |
| Cross domain [GET] [Content-Type: text/plain;charset=utf-8] | NOTRUN |
| Cross domain [GET] [Content-Type: text/plain] | NOTRUN |
| Cross domain [HEAD] | NOTRUN |
| Cross domain [POST] | NOTRUN |
| Cross domain different port [GET] | NOTRUN |
| Cross domain different protocol [GET] | NOTRUN |
| Same domain different port [GET] | TIMEOUT |
| Same domain different protocol different port [GET] | NOTRUN |
| /fetch/api/response/response-error-from-stream.html (10/12, 83.33%, 0.43% of total) | OK |
| ReadableStream pull() Error propagates to Response.arrayBuffer() Promise | FAIL |
| ReadableStream pull() Error propagates to Response.blob() Promise | FAIL |
| ReadableStream pull() Error propagates to Response.formData() Promise | FAIL |
| ReadableStream pull() Error propagates to Response.json() Promise | FAIL |
| ReadableStream pull() Error propagates to Response.text() Promise | FAIL |
| ReadableStream start() Error propagates to Response.arrayBuffer() Promise | FAIL |
| ReadableStream start() Error propagates to Response.blob() Promise | FAIL |
| ReadableStream start() Error propagates to Response.formData() Promise | FAIL |
| ReadableStream start() Error propagates to Response.json() Promise | FAIL |
| ReadableStream start() Error propagates to Response.text() Promise | FAIL |
| /fetch/api/request/request-cache-default-conditional.html (28/40, 70.00%, 1.21% of total) | TIMEOUT |
| RequestCache "default" mode with an If-Match header (following a request without additional headers) is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Match header (following a request without additional headers) is treated similarly to "no-store" with Etag and stale response | NOTRUN |
| RequestCache "default" mode with an If-Match header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Match header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with Etag and stale response | NOTRUN |
| RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Match header is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with Etag and stale response | TIMEOUT |
| RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-None-Match header is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| RequestCache "default" mode with an If-Range header (following a request without additional headers) is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Range header (following a request without additional headers) is treated similarly to "no-store" with Etag and stale response | NOTRUN |
| RequestCache "default" mode with an If-Range header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Range header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Etag and stale response | NOTRUN |
| RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header (following a request without additional headers) is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header (following a request without additional headers) is treated similarly to "no-store" with Etag and stale response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with Etag and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with Etag and stale response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with Last-Modified and fresh response | NOTRUN |
| RequestCache "default" mode with an If-Unmodified-Since header is treated similarly to "no-store" with Last-Modified and stale response | NOTRUN |
| /fetch/api/response/response-init-002.html (1/8, 12.50%, 0.04% of total) | OK |
| Initialize Response's body with multipart/form-data | FAIL |
| /fetch/api/request/request-consume.html (1/38, 2.63%, 0.04% of total) | OK |
| Consume FormData request's body as FormData | FAIL |
| /fetch/data-urls/base64.any.html (19/79, 24.05%, 0.82% of total) | OK |
| data: URL base64 handling: " abcd===" | FAIL |
| data: URL base64 handling: "--" | FAIL |
| data: URL base64 handling: "__" | FAIL |
| data: URL base64 handling: "ab=" | FAIL |
| data: URL base64 handling: "ab===" | FAIL |
| data: URL base64 handling: "ab====" | FAIL |
| data: URL base64 handling: "ab=====" | FAIL |
| data: URL base64 handling: "ab\vcd" | FAIL |
| data: URL base64 handling: "abc==" | FAIL |
| data: URL base64 handling: "abc===" | FAIL |
| data: URL base64 handling: "abc====" | FAIL |
| data: URL base64 handling: "abc=====" | FAIL |
| data: URL base64 handling: "abcd ===" | FAIL |
| data: URL base64 handling: "abcd=" | FAIL |
| data: URL base64 handling: "abcd==" | FAIL |
| data: URL base64 handling: "abcd=== " | FAIL |
| data: URL base64 handling: "abcd===" | FAIL |
| data: URL base64 handling: "abcd====" | FAIL |
| data: URL base64 handling: "abcd=====" | FAIL |
| /fetch/api/basic/mode-no-cors.sub.any.html (1/4, 25.00%, 0.04% of total) | TIMEOUT |
| Fetch http://webapitests2018.ctawave.org:57618/fetch/api/resources/top.txt with no-cors mode | TIMEOUT |
| /fetch/api/cors/cors-redirect.any.html (19/20, 95.00%, 0.82% of total) | TIMEOUT |
| Redirect 301: cors to another cors | TIMEOUT |
| Redirect 301: cors to same origin | NOTRUN |
| Redirect 301: same origin to cors | NOTRUN |
| Redirect 302: cors to another cors | NOTRUN |
| Redirect 302: cors to same cors | NOTRUN |
| Redirect 302: cors to same origin | NOTRUN |
| Redirect 302: same origin to cors | NOTRUN |
| Redirect 303: cors to another cors | NOTRUN |
| Redirect 303: cors to same cors | NOTRUN |
| Redirect 303: cors to same origin | NOTRUN |
| Redirect 303: same origin to cors | NOTRUN |
| Redirect 307: cors to another cors | NOTRUN |
| Redirect 307: cors to same cors | NOTRUN |
| Redirect 307: cors to same origin | NOTRUN |
| Redirect 307: same origin to cors | NOTRUN |
| Redirect 308: cors to another cors | NOTRUN |
| Redirect 308: cors to same cors | NOTRUN |
| Redirect 308: cors to same origin | NOTRUN |
| Redirect 308: same origin to cors | NOTRUN |
| /fetch/api/request/request-consume-empty.html (4/14, 28.57%, 0.17% of total) | OK |
| Consume empty FormData request body as text | FAIL |
| Consume request's body as formData with correct multipart type (error case) | FAIL |
| Consume request's body as formData with correct urlencoded type | FAIL |
| Consume request's body as formData without correct type (error case) | FAIL |
| /fetch/api/response/response-clone.html (4/18, 22.22%, 0.17% of total) | OK |
| Check Response's clone with default values, without body | FAIL |
| Check response clone use structureClone for teed ReadableStreams (ArrayBufferchunk) | FAIL |
| Check response clone use structureClone for teed ReadableStreams (DataViewchunk) | FAIL |
| Cloned responses should provide the same data | FAIL |
| /fetch/api/cors/cors-preflight-redirect.any.html (10/10, 100.00%, 0.43% of total) | OK |
| Redirection 301 after preflight failed | FAIL |
| Redirection 301 on preflight failed | FAIL |
| Redirection 302 after preflight failed | FAIL |
| Redirection 302 on preflight failed | FAIL |
| Redirection 303 after preflight failed | FAIL |
| Redirection 303 on preflight failed | FAIL |
| Redirection 307 after preflight failed | FAIL |
| Redirection 307 on preflight failed | FAIL |
| Redirection 308 after preflight failed | FAIL |
| Redirection 308 on preflight failed | FAIL |
| /fetch/api/response/response-trailer.html (1/1, 100.00%, 0.04% of total) | OK |
| trailer() test | FAIL |
| /fetch/range/sw.https.window.html (4/9, 44.44%, 0.17% of total) | OK |
| Headers correctly filtered | FAIL |
| Include range header in network request | FAIL |
| Non-opaque ranged response executed | FAIL |
| Range headers correctly preserved | FAIL |
| /fetch/api/response/response-stream-with-broken-then.any.html (6/6, 100.00%, 0.26% of total) | ERROR |
| Attempt to inject 8.2 via Object.prototype.then. | NOTRUN |
| Attempt to inject undefined via Object.prototype.then. | TIMEOUT |
| Attempt to inject value: undefined via Object.prototype.then. | FAIL |
| Attempt to inject {done: false, value: bye} via Object.prototype.then. | FAIL |
| intercepting arraybuffer to body readable stream conversion via Object.prototype.then should not be possible | NOTRUN |
| intercepting arraybuffer to text conversion via Object.prototype.then should not be possible | NOTRUN |
| /fetch/api/request/request-keepalive.html (2/2, 100.00%, 0.09% of total) | OK |
| keepalive flag | FAIL |
| keepalive flag with stream body | FAIL |
| /fetch/corb/script-html-correctly-labeled.tentative.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| CORB-blocked script has no syntax errors | FAIL |
| /fetch/security/dangling-markup-mitigation.tentative.html (9/31, 29.03%, 0.39% of total) | OK |
| <img id="dangling" src="/images/green-1x1.png?img=&#10;b&lt;c"> | FAIL |
| Fetch: /images/gre\nen-1x1.png?img=< | FAIL |
| Fetch: /images/gre\ren-1x1.png?img=< | FAIL |
| Fetch: /images/gre\ten-1x1.png?img=< | FAIL |
| Fetch: /images/green-1x1.png?<\n=block | FAIL |
| Fetch: /images/green-1x1.png?<\r=block | FAIL |
| Fetch: /images/green-1x1.png?<\t=block | FAIL |
| \n <img id="dangling" src="/images/green-1x1.png?img=\n <\n b\n ">\n | FAIL |
| \n <img id="dangling" src="\n /images/green-1x1.png?img=&#10;\n ">\n | FAIL |
| /fetch/cross-origin-resource-policy/fetch.any.html (7/12, 58.33%, 0.30% of total) | TIMEOUT |
| Cross-origin cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| Cross-origin no-cors fetch to a same-site URL with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' redirect response header. | NOTRUN |
| Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header after a cross-origin redirection. | NOTRUN |
| Cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-origin' response header after a redirection. | NOTRUN |
| Valid cross-origin no-cors fetch with a 'Cross-Origin-Resource-Policy: same-site' response header. | TIMEOUT |
| /fetch/api/cors/cors-basic.any.html (15/15, 100.00%, 0.65% of total) | TIMEOUT |
| Cross domain basic usage [cors mode] | NOTRUN |
| Cross domain basic usage [no-cors mode] | NOTRUN |
| Cross domain basic usage [server forbid CORS] | NOTRUN |
| Cross domain different port [cors mode] | NOTRUN |
| Cross domain different port [no-cors mode] | NOTRUN |
| Cross domain different port [server forbid CORS] | NOTRUN |
| Cross domain different protocol [cors mode] | NOTRUN |
| Cross domain different protocol [no-cors mode] | NOTRUN |
| Cross domain different protocol [server forbid CORS] | NOTRUN |
| Same domain different port [cors mode] | NOTRUN |
| Same domain different port [no-cors mode] | TIMEOUT |
| Same domain different port [server forbid CORS] | NOTRUN |
| Same domain different protocol different port [cors mode] | NOTRUN |
| Same domain different protocol different port [no-cors mode] | NOTRUN |
| Same domain different protocol different port [server forbid CORS] | NOTRUN |
| /fetch/api/cors/cors-multiple-origins.sub.any.html (6/6, 100.00%, 0.26% of total) | TIMEOUT |
| Listing multiple origins is illegal: "",http://example.com,* | NOTRUN |
| Listing multiple origins is illegal: "",http://example.com,http://webapitests2018.ctawave.org:8000 | TIMEOUT |
| Listing multiple origins is illegal: "",http://webapitests2018.ctawave.org:8000,http://webapitests2018.ctawave.org:8000 | NOTRUN |
| Listing multiple origins is illegal: *,http://example.com,* | NOTRUN |
| Listing multiple origins is illegal: *,http://example.com,http://webapitests2018.ctawave.org:8000 | NOTRUN |
| Listing multiple origins is illegal: ,http://example.com,https://example2.com | NOTRUN |
| /fetch/http-cache/vary.html (1/13, 7.69%, 0.04% of total) | OK |
| HTTP cache doesn't invalidate existing Vary response | FAIL |
| /fetch/data-urls/processing.any.html (49/71, 69.01%, 2.11% of total) | OK |
| "data: ;charset=x ; base64,WA" | FAIL |
| "data: ,%FF" | FAIL |
| "data:%00,%FF" | FAIL |
| "data:%1F,%FF" | FAIL |
| "data:%20,%FF" | FAIL |
| "data:%3Bbase64,WA" | FAIL |
| "data:,X#X" | FAIL |
| "data://test/,X" | FAIL |
| "data:; base64,WA" | FAIL |
| "data:; base64,WA" | FAIL |
| "data:; charset=x,X" | FAIL |
| "data:;%62ase64,WA" | FAIL |
| "data:;CHARSET=\"X\",X" | FAIL |
| "data:;base 64,WA" | FAIL |
| "data:;base64 ,WA" | FAIL |
| "data:;base64 ,WA" | FAIL |
| "data:;base64;,WA" | FAIL |
| "data:;base64;base64,WA" | FAIL |
| "data:;charset =x,X" | FAIL |
| "data:;charset,X" | FAIL |
| "data:;charset= x,X" | FAIL |
| "data:;charset=,X" | FAIL |
| "data:;charset=\"x\",X" | FAIL |
| "data:;charset=x,X" | FAIL |
| "data:;x=x,X" | FAIL |
| "data:;x=x;charset=x,X" | FAIL |
| "data:IMAGE/gif,%C2%B1" | FAIL |
| "data:IMAGE/gif;CHARSET=x,%C2%B1" | FAIL |
| "data:IMAGE/gif;hi=x,%C2%B1" | FAIL |
| "data:X,X" | FAIL |
| "data:\0,%FF" | FAIL |
| "data:\f,%FF" | FAIL |
| "data:text / html,X" | FAIL |
| "data:text/html ,X" | FAIL |
| "data:text/plain ,X" | FAIL |
| "data:text/plain%0C,X" | FAIL |
| "data:text/plain;,X" | FAIL |
| "data:text/plain;Charset=UTF-8,%C2%B1" | FAIL |
| "data:text/plain;a=\",\",X" | FAIL |
| "data:text/plain\f,X" | FAIL |
| "data:x/x;base64;base64,WA" | FAIL |
| "data:x/x;base64;base64x,WA" | FAIL |
| "data:x/x;base64;charset=x,WA" | FAIL |
| "data:x/x;base64;charset=x;base64,WA" | FAIL |
| "data:x;base64;x,WA" | FAIL |
| "data:x;base64=x,WA" | FAIL |
| "data:x;base64x,WA" | FAIL |
| "data:†,X" | FAIL |
| "data:†/†,X" | FAIL |
| /fetch/sec-metadata/font.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-Site font | FAIL |
| Same-Origin font | FAIL |
| Same-Site font | FAIL |
| /fetch/sec-metadata/serviceworker.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| serviceworker | FAIL |
| /fetch/api/request/request-structure.html (2/20, 10.00%, 0.09% of total) | OK |
| Check isHistoryNavigation attribute | FAIL |
| Check isReloadNavigation attribute | FAIL |
| /fetch/api/policies/referrer-origin-service-worker.https.html (2/3, 66.67%, 0.09% of total) | OK |
| Cross-origin referrer is overridden by client origin | FAIL |
| Request's referrer is origin | FAIL |
| /fetch/api/policies/referrer-origin-when-cross-origin.html (1/1, 100.00%, 0.04% of total) | OK |
| Request's referrer is origin | FAIL |
| /fetch/api/headers/headers-record.html (3/13, 23.08%, 0.13% of total) | OK |
| Basic operation with Symbol keys | FAIL |
| Correct operation ordering with repeated keys | FAIL |
| Operation with non-enumerable Symbol keys | FAIL |
| /fetch/security/embedded-credentials.tentative.sub.html (6/6, 100.00%, 0.26% of total) | TIMEOUT |
| Embedded credentials are treated as network errors in frames. | FAIL |
| Embedded credentials are treated as network errors in new windows. | TIMEOUT |
| Embedded credentials are treated as network errors. | FAIL |
| Embedded credentials matching the top-level are not treated as network errors for relative URLs. | FAIL |
| Embedded credentials matching the top-level are not treated as network errors for same-origin URLs. | FAIL |
| Embedded credentials matching the top-level are treated as network errors for cross-origin URLs. | FAIL |
| /fetch/api/abort/destroyed-context.html (1/1, 100.00%, 0.04% of total) | OK |
| aborting a fetch in a destroyed context should not crash | FAIL |
| /fetch/api/cors/cors-redirect-preflight.any.html (26/30, 86.67%, 1.12% of total) | TIMEOUT |
| Redirect 301: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 301: cors to another cors (preflight after redirection success case) | TIMEOUT |
| Redirect 302: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 302: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 302: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 302: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 302: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 302: same origin to cors (preflight after redirection success case) | NOTRUN |
| Redirect 303: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 303: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 303: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 303: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 303: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 303: same origin to cors (preflight after redirection success case) | NOTRUN |
| Redirect 307: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 307: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 307: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 307: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 307: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 307: same origin to cors (preflight after redirection success case) | NOTRUN |
| Redirect 308: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 308: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 308: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 308: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 308: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 308: same origin to cors (preflight after redirection success case) | NOTRUN |
| /fetch/security/redirect-to-url-with-credentials.https.html (3/7, 42.86%, 0.13% of total) | TIMEOUT |
| Frame loading after a redirect with an URL containing credentials | TIMEOUT |
| Image loading after a redirect with an URL containing credentials | FAIL |
| No CORS fetch after a redirect with an URL containing credentials | FAIL |
| /fetch/api/redirect/redirect-mode.any.html (20/60, 33.33%, 0.86% of total) | OK |
| cross-origin redirect 301 in follow redirect and cors mode | FAIL |
| cross-origin redirect 301 in follow redirect and no-cors mode | FAIL |
| cross-origin redirect 301 in manual redirect and cors mode | FAIL |
| cross-origin redirect 302 in follow redirect and cors mode | FAIL |
| cross-origin redirect 302 in follow redirect and no-cors mode | FAIL |
| cross-origin redirect 302 in manual redirect and cors mode | FAIL |
| cross-origin redirect 303 in follow redirect and cors mode | FAIL |
| cross-origin redirect 303 in follow redirect and no-cors mode | FAIL |
| cross-origin redirect 303 in manual redirect and cors mode | FAIL |
| cross-origin redirect 307 in follow redirect and cors mode | FAIL |
| cross-origin redirect 307 in follow redirect and no-cors mode | FAIL |
| cross-origin redirect 307 in manual redirect and cors mode | FAIL |
| cross-origin redirect 308 in follow redirect and cors mode | FAIL |
| cross-origin redirect 308 in follow redirect and no-cors mode | FAIL |
| cross-origin redirect 308 in manual redirect and cors mode | FAIL |
| same-origin redirect 301 in manual redirect and no-cors mode | FAIL |
| same-origin redirect 302 in manual redirect and no-cors mode | FAIL |
| same-origin redirect 303 in manual redirect and no-cors mode | FAIL |
| same-origin redirect 307 in manual redirect and no-cors mode | FAIL |
| same-origin redirect 308 in manual redirect and no-cors mode | FAIL |
| /fetch/api/request/url-encoding.html (2/2, 100.00%, 0.09% of total) | OK |
| URL encoding and Request | FAIL |
| URL encoding and fetch() | FAIL |
| /fetch/api/basic/integrity.sub.any.html (5/15, 33.33%, 0.22% of total) | TIMEOUT |
| CORS SHA-512 integrity | NOTRUN |
| CORS empty integrity | TIMEOUT |
| CORS invalid integrity | NOTRUN |
| Empty string integrity for opaque response | NOTRUN |
| SHA-* integrity for opaque response | NOTRUN |
| /fetch/api/request/request-init-002.html (1/8, 12.50%, 0.04% of total) | OK |
| Initialize Request's body with "[object FormData]", multipart/form-data | FAIL |
| /fetch/sec-metadata/xslt.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | TIMEOUT |
| /fetch/sec-metadata/xslt.tentative.https.sub.html | TIMEOUT |
| /fetch/sec-metadata/redirect/multiple-redirect-cross-site.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| Same-Origin -> Cross-Site -> Same-Origin redirect | FAIL |
| /fetch/sec-metadata/sharedworker.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| sharedworker | FAIL |