diff options
Diffstat (limited to 'test/wpt/status/fetch.status.json')
-rw-r--r-- | test/wpt/status/fetch.status.json | 457 |
1 files changed, 457 insertions, 0 deletions
diff --git a/test/wpt/status/fetch.status.json b/test/wpt/status/fetch.status.json new file mode 100644 index 0000000..5910bf3 --- /dev/null +++ b/test/wpt/status/fetch.status.json @@ -0,0 +1,457 @@ +{ + "api": { + "abort": { + "general.any.js": { + "note": "TODO(@KhafraDev): Clone aborts with original controller can probably be fixed", + "fail": [ + "Already aborted signal rejects immediately", + "Underlying connection is closed when aborting after receiving response - no-cors", + "Stream errors once aborted. Underlying connection closed.", + "Readable stream synchronously cancels with AbortError if aborted before reading", + "Clone aborts with original controller" + ] + }, + "cache.https.any.js": { + "note": "undici doesn't implement http caching", + "skip": true + } + }, + "basic": { + "conditional-get.any.js": { + "fail": [ + "Testing conditional GET with ETags" + ] + }, + "header-value-combining.any.js": { + "fail": [ + "response.headers.get('content-length') expects 0, 0", + "response.headers.get('foo-test') expects 1, 2, 3", + "response.headers.get('heya') expects , \\x0B\f, 1, , , 2" + ], + "flaky": [ + "response.headers.get('content-length') expects 0", + "response.headers.get('double-trouble') expects , ", + "response.headers.get('www-authenticate') expects 1, 2, 3, 4" + ] + }, + "integrity.sub.any.js": { + "fail": [ + "Empty string integrity for opaque response" + ] + }, + "keepalive.any.js": { + "note": "document is not defined", + "skip": true + }, + "mode-no-cors.sub.any.js": { + "note": "undici doesn't implement CORs", + "skip": true + }, + "mode-same-origin.any.js": { + "note": "undici doesn't respect RequestInit.mode", + "skip": true + }, + "referrer.any.js": { + "fail": [ + "origin-when-cross-origin policy on a cross-origin URL", + "origin-when-cross-origin policy on a cross-origin URL after same-origin redirection", + "origin-when-cross-origin policy on a same-origin URL after cross-origin redirection", + "origin-when-cross-origin policy on a same-origin URL" + ] + }, + "request-forbidden-headers.any.js": { + "note": "undici doesn't filter headers", + "skip": true + }, + "request-headers.any.js": { + "fail": [ + "Fetch with Chicken", + "Fetch with Chicken with body", + "Fetch with TacO and mode \"same-origin\" needs an Origin header", + "Fetch with TacO and mode \"cors\" needs an Origin header" + ] + }, + "request-referrer.any.js": { + "note": "TODO(@KhafraDev): url referrer test could probably be fixed", + "fail": [ + "about:client referrer", + "url referrer" + ] + }, + "request-upload.any.js": { + "fail": [ + "Fetch with POST with text body on 421 response should be retried once on new connection." + ] + }, + "request-upload.h2.any.js": { + "note": "undici doesn't support http/2", + "skip": true + }, + "status.h2.any.js": { + "note": "undici doesn't support http/2", + "skip": true + }, + "stream-safe-creation.any.js": { + "note": "tests are very finnicky", + "fail": [ + "throwing Object.prototype.type accessor should not affect stream creation by 'fetch'", + "Object.prototype.type accessor returning invalid value should not affect stream creation by 'fetch'", + "throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'fetch'", + "Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'fetch'" + ] + } + }, + "body": { + "mime-type.any.js": { + "note": "fails on all platforms, https://wpt.fyi/results/fetch/api/body/mime-type.any.html?label=master&label=experimental&product=chrome&product=firefox&product=safari&product=node.js&product=deno&aligned", + "fail": [ + "Response: Extract a MIME type with clone" + ] + } + }, + "cors": { + "note": "undici doesn't implement CORs", + "skip": true + }, + "credentials": { + "authentication-redirection.any.js": { + "note": "connects to https server", + "fail": [ + "getAuthorizationHeaderValue - cross origin redirection", + "getAuthorizationHeaderValue - same origin redirection" + ] + }, + "cookies.any.js": { + "fail": [ + "Include mode: 1 cookie", + "Include mode: 2 cookies", + "Same-origin mode: 1 cookie", + "Same-origin mode: 2 cookies" + ] + } + }, + "fetch-later": { + "note": "this is not part of the spec, only a proposal", + "skip": true + }, + "headers": { + "header-setcookie.any.js": { + "note": "undici doesn't filter headers", + "fail": [ + "Set-Cookie is a forbidden response header" + ] + }, + "header-values-normalize.any.js": { + "note": "TODO(@KhafraDev): https://github.com/nodejs/undici/issues/1680", + "fail": [ + "XMLHttpRequest with value %00", + "XMLHttpRequest with value %01", + "XMLHttpRequest with value %02", + "XMLHttpRequest with value %03", + "XMLHttpRequest with value %04", + "XMLHttpRequest with value %05", + "XMLHttpRequest with value %06", + "XMLHttpRequest with value %07", + "XMLHttpRequest with value %08", + "XMLHttpRequest with value %09", + "XMLHttpRequest with value %0A", + "XMLHttpRequest with value %0D", + "XMLHttpRequest with value %0E", + "XMLHttpRequest with value %0F", + "XMLHttpRequest with value %10", + "XMLHttpRequest with value %11", + "XMLHttpRequest with value %12", + "XMLHttpRequest with value %13", + "XMLHttpRequest with value %14", + "XMLHttpRequest with value %15", + "XMLHttpRequest with value %16", + "XMLHttpRequest with value %17", + "XMLHttpRequest with value %18", + "XMLHttpRequest with value %19", + "XMLHttpRequest with value %1A", + "XMLHttpRequest with value %1B", + "XMLHttpRequest with value %1C", + "XMLHttpRequest with value %1D", + "XMLHttpRequest with value %1E", + "XMLHttpRequest with value %1F", + "XMLHttpRequest with value %20", + "fetch() with value %01", + "fetch() with value %02", + "fetch() with value %03", + "fetch() with value %04", + "fetch() with value %05", + "fetch() with value %06", + "fetch() with value %07", + "fetch() with value %08", + "fetch() with value %0E", + "fetch() with value %0F", + "fetch() with value %10", + "fetch() with value %11", + "fetch() with value %12", + "fetch() with value %13", + "fetch() with value %14", + "fetch() with value %15", + "fetch() with value %16", + "fetch() with value %17", + "fetch() with value %18", + "fetch() with value %19", + "fetch() with value %1A", + "fetch() with value %1B", + "fetch() with value %1C", + "fetch() with value %1D", + "fetch() with value %1E", + "fetch() with value %1F" + ] + }, + "header-values.any.js": { + "fail": [ + "XMLHttpRequest with value x%00x needs to throw", + "XMLHttpRequest with value x%0Ax needs to throw", + "XMLHttpRequest with value x%0Dx needs to throw", + "XMLHttpRequest with all valid values", + "fetch() with all valid values" + ] + }, + "headers-no-cors.any.js": { + "note": "undici doesn't implement CORs", + "skip": true + } + }, + "redirect": { + "redirect-empty-location.any.js": { + "note": "undici handles redirect: manual differently than browsers", + "fail": [ + "redirect response with empty Location, manual mode" + ] + }, + "redirect-keepalive.any.js": { + "note": "document is not defined", + "skip": true + }, + "redirect-location-escape.tentative.any.js": { + "note": "TODO(@KhafraDev): crashes runner", + "skip": true + }, + "redirect-location.any.js": { + "note": "undici handles redirect: manual differently than browsers", + "fail": [ + "Redirect 301 in \"manual\" mode without location", + "Redirect 301 in \"manual\" mode with invalid location", + "Redirect 301 in \"manual\" mode with data location", + "Redirect 302 in \"manual\" mode without location", + "Redirect 302 in \"manual\" mode with invalid location", + "Redirect 302 in \"manual\" mode with data location", + "Redirect 303 in \"manual\" mode without location", + "Redirect 303 in \"manual\" mode with invalid location", + "Redirect 303 in \"manual\" mode with data location", + "Redirect 307 in \"manual\" mode without location", + "Redirect 307 in \"manual\" mode with invalid location", + "Redirect 307 in \"manual\" mode with data location", + "Redirect 308 in \"manual\" mode without location", + "Redirect 308 in \"manual\" mode with invalid location", + "Redirect 308 in \"manual\" mode with data location", + "Redirect 301 in \"manual\" mode with valid location", + "Redirect 302 in \"manual\" mode with valid location", + "Redirect 303 in \"manual\" mode with valid location", + "Redirect 307 in \"manual\" mode with valid location", + "Redirect 308 in \"manual\" mode with valid location" + ] + }, + "redirect-method.any.js": { + "fail": [ + "Redirect 303 with TESTING" + ] + }, + "redirect-mode.any.js": { + "note": "mode isn't respected", + "skip": true + }, + "redirect-origin.any.js": { + "note": "TODO(@KhafraDev): investigate", + "skip": true + }, + "redirect-referrer-override.any.js": { + "note": "TODO(@KhafraDev): investigate", + "skip": true + }, + "redirect-referrer.any.js": { + "note": "TODO(@KhafraDev): investigate", + "skip": true + }, + "redirect-upload.h2.any.js": { + "note": "undici doesn't support http/2", + "skip": true + } + }, + "request": { + "request-cache-default-conditional.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-cache-default.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-cache-force-cache.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-cache-no-cache.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-cache-no-store.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-cache-only-if-cached.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-cache-reload.any.js": { + "note": "undici doesn't implement an http cache", + "skip": true + }, + "request-consume-empty.any.js": { + "note": "the semantics about this test are being discussed - https://github.com/web-platform-tests/wpt/pull/3950", + "fail": [ + "Consume empty FormData request body as text" + ] + }, + "request-disturbed.any.js": { + "note": "this test fails in all other platforms - https://wpt.fyi/results/fetch/api/request/request-disturbed.any.html?label=master&label=experimental&product=chrome&product=firefox&product=safari&product=deno&aligned&view=subtest", + "fail": [ + "Input request used for creating new request became disturbed even if body is not used" + ] + }, + "request-headers.any.js": { + "note": "undici doesn't filter headers", + "fail": [ + "Adding invalid request header \"Accept-Charset: KO\"", + "Adding invalid request header \"accept-charset: KO\"", + "Adding invalid request header \"ACCEPT-ENCODING: KO\"", + "Adding invalid request header \"Accept-Encoding: KO\"", + "Adding invalid request header \"Access-Control-Request-Headers: KO\"", + "Adding invalid request header \"Access-Control-Request-Method: KO\"", + "Adding invalid request header \"Access-Control-Request-Private-Network: KO\"", + "Adding invalid request header \"Connection: KO\"", + "Adding invalid request header \"Content-Length: KO\"", + "Adding invalid request header \"Cookie: KO\"", + "Adding invalid request header \"Cookie2: KO\"", + "Adding invalid request header \"Date: KO\"", + "Adding invalid request header \"DNT: KO\"", + "Adding invalid request header \"Expect: KO\"", + "Adding invalid request header \"Host: KO\"", + "Adding invalid request header \"Keep-Alive: KO\"", + "Adding invalid request header \"Origin: KO\"", + "Adding invalid request header \"Referer: KO\"", + "Adding invalid request header \"Set-Cookie: KO\"", + "Adding invalid request header \"TE: KO\"", + "Adding invalid request header \"Trailer: KO\"", + "Adding invalid request header \"Transfer-Encoding: KO\"", + "Adding invalid request header \"Upgrade: KO\"", + "Adding invalid request header \"Via: KO\"", + "Adding invalid request header \"Proxy-: KO\"", + "Adding invalid request header \"proxy-a: KO\"", + "Adding invalid request header \"Sec-: KO\"", + "Adding invalid request header \"sec-b: KO\"", + "Adding invalid no-cors request header \"Content-Type: KO\"", + "Adding invalid no-cors request header \"Potato: KO\"", + "Adding invalid no-cors request header \"proxy: KO\"", + "Adding invalid no-cors request header \"proxya: KO\"", + "Adding invalid no-cors request header \"sec: KO\"", + "Adding invalid no-cors request header \"secb: KO\"", + "Adding invalid no-cors request header \"Empty-Value: \"", + "Check that request constructor is filtering headers provided as init parameter", + "Check that no-cors request constructor is filtering headers provided as init parameter", + "Check that no-cors request constructor is filtering headers provided as part of request parameter" + ] + }, + "request-init-priority.any.js": { + "note": "undici doesn't implement priority hints, yet(?)", + "skip": true + } + }, + "response": { + "response-clone.any.js": { + "fail": [ + "Check response clone use structureClone for teed ReadableStreams (ArrayBufferchunk)", + "Check response clone use structureClone for teed ReadableStreams (DataViewchunk)" + ] + }, + "response-consume-empty.any.js": { + "fail": [ + "Consume empty FormData response body as text" + ] + }, + "response-consume-stream.any.js": { + "fail": [ + "Read blob response's body as readableStream with mode=byob", + "Read text response's body as readableStream with mode=byob", + "Read URLSearchParams response's body as readableStream with mode=byob", + "Read array buffer response's body as readableStream with mode=byob", + "Read form data response's body as readableStream with mode=byob" + ] + }, + "response-error-from-stream.any.js": { + "fail": [ + "ReadableStream start() Error propagates to Response.formData() Promise", + "ReadableStream pull() Error propagates to Response.formData() Promise" + ] + }, + "response-stream-with-broken-then.any.js": { + "note": "this is a bug in webstreams, see https://github.com/nodejs/node/issues/46786", + "skip": true + } + } + }, + "content-length": { + "api-and-duplicate-headers.any.js": { + "fail": [ + "XMLHttpRequest and duplicate Content-Length/Content-Type headers", + "fetch() and duplicate Content-Length/Content-Type headers" + ] + } + }, + "cross-origin-resource-policy": { + "note": "undici doesn't implement CORs", + "skip": true + }, + "http-cache": { + "note": "undici doesn't implement http caching", + "skip": true + }, + "metadata": { + "note": "undici doesn't respect RequestInit.mode", + "skip": true + }, + "orb": { + "tentative": { + "note": "undici doesn't implement orb", + "skip": true + } + }, + "range": { + "note": "undici doesn't respect range header", + "skip": true + }, + "security": { + "1xx-response.any.js": { + "fail": [ + "Status(100) should be ignored.", + "Status(101) should be accepted, with removing body.", + "Status(103) should be ignored.", + "Status(199) should be ignored." + ] + } + }, + "stale-while-revalidate": { + "note": "undici doesn't implement http caching", + "skip": true + }, + "idlharness.any.js": { + "flaky": [ + "Window interface: operation fetch(RequestInfo, optional RequestInit)" + ] + } +} |