From 0022c35a237773b50a771b0fef48cac734f7a9d6 Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Tue, 5 Mar 2024 11:41:16 +1100 Subject: chore: move `tools/wpt` to `tests/wpt/runner` (#22545) Towards #22525 --------- Signed-off-by: Asher Gomez Co-authored-by: Matt Mastracci --- tests/wpt/runner/certs/README.md | 30 + tests/wpt/runner/certs/cacert.key | 30 + tests/wpt/runner/certs/cacert.pem | 71 + tests/wpt/runner/certs/web-platform.test.key | 28 + tests/wpt/runner/certs/web-platform.test.pem | 133 + tests/wpt/runner/config.json | 11 + tests/wpt/runner/expectation.json | 10998 +++++++++++++++++++++++++ tests/wpt/runner/runner.ts | 241 + tests/wpt/runner/testharnessreport.js | 29 + tests/wpt/runner/utils.ts | 214 + tests/wpt/wpt.ts | 816 ++ 11 files changed, 12601 insertions(+) create mode 100644 tests/wpt/runner/certs/README.md create mode 100644 tests/wpt/runner/certs/cacert.key create mode 100644 tests/wpt/runner/certs/cacert.pem create mode 100644 tests/wpt/runner/certs/web-platform.test.key create mode 100644 tests/wpt/runner/certs/web-platform.test.pem create mode 100644 tests/wpt/runner/config.json create mode 100644 tests/wpt/runner/expectation.json create mode 100644 tests/wpt/runner/runner.ts create mode 100644 tests/wpt/runner/testharnessreport.js create mode 100644 tests/wpt/runner/utils.ts create mode 100755 tests/wpt/wpt.ts (limited to 'tests') diff --git a/tests/wpt/runner/certs/README.md b/tests/wpt/runner/certs/README.md new file mode 100644 index 000000000..f3ebfc652 --- /dev/null +++ b/tests/wpt/runner/certs/README.md @@ -0,0 +1,30 @@ +## To regenerate certificates + +1. Apply: + +``` +diff --git a/tools/wptserve/wptserve/sslutils/openssl.py b/tools/wptserve/wptserve/sslutils/openssl.py +index 87a8cc9cc7..bbf500d8ca 100644 +--- a/tools/wptserve/wptserve/sslutils/openssl.py ++++ b/tools/wptserve/wptserve/sslutils/openssl.py +@@ -216,7 +216,7 @@ basicConstraints = CA:true + subjectKeyIdentifier=hash + authorityKeyIdentifier=keyid:always,issuer:always + keyUsage = keyCertSign +-%(constraints_line)s ++#%(constraints_line)s + """ % {"root_dir": root_dir, + "san_line": san_line, + "duration": duration, +``` + +2. `cd tests/wpt/suite/` +3. `./wpt serve --config tools/certs/config.json` +4. Run: + +``` +cp tests/wpt/suite/tools/certs/cacert.key tests/wpt/runner/certs/cacert.key +cp tests/wpt/suite/tools/certs/cacert.pem tests/wpt/runner/certs/cacert.pem +cp tests/wpt/suite/tools/certs/web-platform.test.key tests/wpt/runner/certs/web-platform.test.key +cp tests/wpt/suite/tools/certs/web-platform.test.pem tests/wpt/runner/certs/web-platform.test.pem +``` diff --git a/tests/wpt/runner/certs/cacert.key b/tests/wpt/runner/certs/cacert.key new file mode 100644 index 000000000..372ccca44 --- /dev/null +++ b/tests/wpt/runner/certs/cacert.key @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFHzBJBgkqhkiG9w0BBQ0wPDAbBgkqhkiG9w0BBQwwDgQIQ+W03vdK1q8CAggA +MB0GCWCGSAFlAwQBKgQQvAinKAExkO2ZesObnF6FMgSCBNCclHCzJ7wkLCCLn6oU +GGNpNORoeiteSIr+2OHluK9in3YFoS9sXGDQrsb56wVbQIisxWFFGRES9ds+KW3n +Ll38AutYQ5yArIFqWO83f80zybnrtynTluCtV6s3JZGhgSpYXUJ0v+sNwRuGILvb +BxJYB4RFkSCyne629JScEthMoaVvjNbOvcpRmIcO1WdRCsf3EEuZPHExhNnQxUAU +Yw8eNN17kc/e9Wjl4W65gfehcwKJRsWs+tD4zmYUKFTyETtbuNyntR5n8Lil3abV +lgENx1/XOTan/AvYRv3DqoLyt6p/lp4F4FtQQlylCjg+rZaovP7NC4s22bBnoQPx +QbbdOx+v1WeCquezG3VzgMiw6//wSfqOCy1TWmOWghcORolYSzQ7KUY0jHhiIo0y +IkxBgMd4XefYXaCCPdtY8O2pJKQzaqY9p8cIzBe41X/PuACUNSTh1Kt1oBGCBQbA +Ox1mT8wUBM7ETU96TX87g+AtbTW8LB9fxf0PW3cieEc4QPxciN1RZQQOKw/qU9wx +MQj9nlyGn3c6LK11mZ8piz6wD6/dCZAocGndmRA5qELDrGihAGBvHmpLM08vgH2B +BKtv3Is9/v54ATUvGBtXKkYOmK4fONUyMJoyIbZPbifZBs1PUVm0qcHF2VnamdCr +EB4Ea/p49G1SuOZN7WtmrJR7fedoappa7+vlUU4cCTw5XIsFInLJ4xQe+BhCnQKs +Gm3ewR3ferrC8TeiExiYShVVPb3n0Qr5Mm/9SHCutux4a4/Q8a09MNB1+Inh+tH7 +sKyFQS6IettSMZ2FtO+23nd1BM1VbGkxaLVVah3Lcho4byYAhdLo3wRqFLq+QI5G +AYZHrK+WlL1vcXh1Ba+H5aeNUV/fJHy4jMe78VzYb1Enuj8RhhbqlvRlnySfMt+N +SYaVrWIioWzAkUDAZsTZqywn+TWP12zMb1bA3S8zX02PY1/YFfhfYDn0ME+tAVPv +JxdwS6z6x2KHN5WEabKYlFGc+F9bAgW/KtWXBSzPiUENB5oq7fRKiZSjIHXqaSBO +kJ5FcqTwj2b6hgD4KYAAs1qOflmvkq5Yxc9zOYWB+avPE0FUFP/QV+65RHtau8G5 +OdWGWs/tzcEG3GAsIWBCoSCe4YKJsUGoi19Aa/i/k+z1OKvl41LXwIEyS79S6snG +vrCm3BpQMtvE2tMJ1f2n230v7PyG/JF/UuW41F7jUg40E2ULwzCBTCmiaWKD4iYp +nGIorbt9bHo7P1OJAryVGvI6tRyPeShPhjzb9DSWqWOCsfJ7HapiOQb0e+83N1Uv +H7lWz9WMEzp/ewnd6qQTpIFZBmQ3oKxSQ6agvHBmMrpvW/kpH+Oa40dE+QP5L0zU +n7Mv5j1q03lA6dO5Fa/2BR0AiTnYE+Yn5c/llDYpbFZam6s+3e9/64nFTOApDW5l +XfgXOy2KlQOziuz+8rjOmMFmVYRkfBKtjzuhRIERGFKZntsXQbAGM3EKGdusA1mz +AcXbp17gMpEBI24AYjo0Hu6XYUTGeXsbqJBOnIAg0JslbbLlRMzKdRVINKKLXLdX +TUunm9tmOSwL4o22WX/D3iUx0IiSOdFfq8FMTEmAPStfoBTCxyEPfVPYz9w0+trW +JvvPmdH0mTZp8G3UmkgBSPk1dw== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/tests/wpt/runner/certs/cacert.pem b/tests/wpt/runner/certs/cacert.pem new file mode 100644 index 000000000..9bc42cc1b --- /dev/null +++ b/tests/wpt/runner/certs/cacert.pem @@ -0,0 +1,71 @@ +-----BEGIN CERTIFICATE----- +MIIM3jCCC8agAwIBAgIDDdH2MA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl +Yi1wbGF0Zm9ybS10ZXN0czAeFw0yMzA2MDIwMjQ1MTdaFw0yNDA2MDEwMjQ1MTda +MB0xGzAZBgNVBAMMEndlYi1wbGF0Zm9ybS10ZXN0czCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKvZZxnQbYFxul9QFZvEzyaUpOy/maaeSbsEKTXcmMV+ +Op1pBFEIsVKfW09a2V0yIPNeNJt9ezGR12klitPi6HbtENWRIHwH7pEl99QElYSt +yVNcN2dy8bn8p94xUshjMV3sPzBCjMUaAu1FQtYiSeCw+XG4vh74uOYGV6EiIATQ +Xj6J10aLNBGMrOlbqYLbB5KIHIIX3HIlxOS1VyVUJANhv8+m89ykyy/eWjmexbeK +tXhqc98iopV/2Okl2K6AAjjPMwV+5HKzDBGKS5MOmnzqCSEjkQbCSwQgAy758DeN +KuWWd2OwfaudYt3wprnIcT8AJW8Sp1aGSQmeJYmywbkCAwEAAaOCCiUwggohMAwG +A1UdEwQFMAMBAf8wHQYDVR0OBBYEFGbZlmcsD7pGcpPSrjXntECqiONKMEcGA1Ud +IwRAMD6AFGbZlmcsD7pGcpPSrjXntECqiONKoSGkHzAdMRswGQYDVQQDDBJ3ZWIt +cGxhdGZvcm0tdGVzdHOCAw3R9jALBgNVHQ8EBAMCAgQwEwYDVR0lBAwwCgYIKwYB +BQUHAwEwggmFBgNVHREEggl8MIIJeIIRd2ViLXBsYXRmb3JtLnRlc3SCFW5vdC13 +ZWItcGxhdGZvcm0udGVzdIIVd3d3LndlYi1wbGF0Zm9ybS50ZXN0ghZ3d3cxLndl +Yi1wbGF0Zm9ybS50ZXN0ghZ3d3cyLndlYi1wbGF0Zm9ybS50ZXN0ghl3d3cubm90 +LXdlYi1wbGF0Zm9ybS50ZXN0ghl3d3cud3d3LndlYi1wbGF0Zm9ybS50ZXN0ghp3 +d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIIad3d3MS5ub3Qtd2ViLXBsYXRmb3Jt +LnRlc3SCGnd3dy53d3cxLndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cxLnd3dy53ZWIt +cGxhdGZvcm0udGVzdIIad3d3Mi53d3cud2ViLXBsYXRmb3JtLnRlc3SCGnd3dy53 +d3cyLndlYi1wbGF0Zm9ybS50ZXN0ght3d3cyLnd3dzEud2ViLXBsYXRmb3JtLnRl +c3SCG3d3dzIud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIbd3d3MS53d3cxLndlYi1w +bGF0Zm9ybS50ZXN0ght3d3cxLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCHXd3dy53 +d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0gh53d3cud3d3Mi5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCHnd3dy53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIeeG4tLWx2 +ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0gh53d3cxLnd3dy5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCHnd3dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIfd3d3Mi53 +d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIfd3d3MS53d3cyLm5vdC13ZWItcGxh +dGZvcm0udGVzdIIfd3d3MS53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIfd3d3 +Mi53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIIid3d3LnhuLS1sdmUtNmxhZC53 +ZWItcGxhdGZvcm0udGVzdIIieG4tLWx2ZS02bGFkLnd3dy53ZWItcGxhdGZvcm0u +dGVzdIIieG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdIIjeG4tLWx2 +ZS02bGFkLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53d3cx +LndlYi1wbGF0Zm9ybS50ZXN0giN3d3cyLnhuLS1sdmUtNmxhZC53ZWItcGxhdGZv +cm0udGVzdIIjd3d3MS54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCJnd3 +dy54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0giZ4bi0tbHZlLTZs +YWQud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIneG4tLWx2ZS02bGFkLnd3dzIu +bm90LXdlYi1wbGF0Zm9ybS50ZXN0gid4bi0tbHZlLTZsYWQud3d3MS5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3SCJ3d3dzEueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZv +cm0udGVzdIInd3d3Mi54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0 +gil4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdIIreG4t +LWx2ZS02bGFkLnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdIItd3d3Lnhu +LS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gi14bi0tbjhq +NmRzNTNsd3drcnFodjI4YS53d3cud2ViLXBsYXRmb3JtLnRlc3SCLXhuLS1uOGo2 +ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdIIud3d3Mi54bi0t +bjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdIIud3d3MS54bi0t +bjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdIIueG4tLW44ajZk +czUzbHd3a3JxaHYyOGEud3d3MS53ZWItcGxhdGZvcm0udGVzdIIueG4tLW44ajZk +czUzbHd3a3JxaHYyOGEud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIveG4tLWx2ZS02 +bGFkLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCMXd3dy54bi0t +bjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCMXhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCMnd3 +dzEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0 +gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cxLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIIyd3d3Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCMnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gjZ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbHZlLTZs +YWQud2ViLXBsYXRmb3JtLnRlc3SCNnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNs +d3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdII6eG4tLWx2ZS02bGFkLnhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdII6eG4tLW44 +ajZkczUzbHd3a3JxaHYyOGEueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIJBeG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4tLW44ajZkczUzbHd3a3Jx +aHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCRXhuLS1uOGo2ZHM1M2x3d2tycWh2Mjhh +LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdDAN +BgkqhkiG9w0BAQsFAAOCAQEApKeUP4UaaT1TxI3DMdNMRIAHRt3v5/CiPKWrntfW +gfBTXPvM+WcYl1n+x4dZ2UL2r4PFmUT1MSaotx4TC4Tu80NoHyFZYDpWtBrkjd35 +M8niW02Fq0j4vjWL3mJFjUQPfQq5GFw5jZXSuTT6FHfXG5YNT1nVTMVwKu0sX7y/ +2eNddJIr2LbEOLRgyYPr2PtmYPSe60rSiRXRWCgd9xYnRTnkt/6bjOy9qzWT9owj +JZAUou5L5q2hUxXbpi5eV5x907KHTkH7SumQVKBY61Mhz6ULxS08KWOeFWC6y4FX +HmUM54620yFqretTloDEw1XS0tgyGHgR4RqouL2vnFsmJg== +-----END CERTIFICATE----- diff --git a/tests/wpt/runner/certs/web-platform.test.key b/tests/wpt/runner/certs/web-platform.test.key new file mode 100644 index 000000000..661a9ba87 --- /dev/null +++ b/tests/wpt/runner/certs/web-platform.test.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDbQdpYdpYNdw21 +21aAjI/AbN8jRxLjD3KaahP7xCvMdu0gBSbVkr4OYUMckzf+xWPU6w3YZ8CUsIc/ +NQD6j3dC1Iz3x5+0HpFfqoWx22bkzeIM7/X98njsmlv47TBEmvMKD9rz3yHGMdi9 +MmzdQohQBnFoidCV/AWqeKEOlxPYhzdTghbv7FMhD4I7Hz3OOvfmsrwEWTcvP03/ +1V46J4h2oILYELglzS5dCQFEjAbd8SIJlT+YMjWMZXzHgxI+UNJFgcbNUEkR/3v5 +8YGrdVmneI5UjVs1ok8uo/ey9OaJSwWOCrWXasglMDkU9J8JWoce/Q8PIlOGdJCs ++bR92pEvAgMBAAECggEAZrwwhwrpvF1weynPGmTCZrOcynbfDq2KUXgq7Ok6bI+9 +BCflzmT30N0aCSWiMypiYL3SuvfCcOlWNfOsBbt7ckEN3HwZBNjd3SmVg4T+bW9a +4Bz/8oHOz250cesRltPT1X8gZOzEco2gtOYPxI0MOhMKyKTqq5xvOzVSofeAQRAb +7bpNucHS3TP6I50jpav1K1w+PIAbMkRyC/hgITp1sGvx/N/OVLRQ22Jd7jCn9umy +f4UYTpvgHChOm5JDFRqH4zRwntKxbcZhYs/WpUxtyKCW8us9IYVp1tebOtnlY918 +boX2Aq+4CohLgI0x67rt2kDG+actL9slrJI3jqVCAQKBgQD+sGV02GT8MidTFTU3 +mMTeL7SaBC1u1JQV4YyAIKY0Bk8S1Oux+wGIXVYl4VINgn63vtkEbKpSEjLIYIzM +E6KOmwguza1mvZ+vJSoglKnh0dC/I/USJLndAigYYiOSl/mGkK9IKMB1zrGmR03R +v0bZAX2I9Zbvynvccztt0MycwQKBgQDcYsSi/eOakVjEV9b0z9u3alna93s/4Y7O +NPCh3NwkGIlweOi1B/5BVCNbTLIz+9Q93UvBW7b7/JQvt9HWdjJf1EFXAz5PM5ip +pAyxtggIYdtu2zW/Gxc8e+chWrZQugoZWZK+oBH5BH4wjtI7SpHqj/RK48WwTjnR +Eo/sbv157wKBgFFZfH6O4+qeBmuGOaJRfIhPiosrTGu7ILXAfkUqqIuzfCxSsBoA +R6QL1AlzZ+cCyIDeR6kfIGPohin0lORWXTTZlgqFDZ7kcI3b/BG+CmkjwF5dGNk7 +u9Y46x+msSAQxNXTfvk4cwjuBVZMLjIRu4py7GsDrrtW3Ks0b0YLTF/BAoGAa/jH +tcMFe3iyMJ+IZLBhSN8F3s1YyNdNC6HMMsDt6ZFL5JqYB/k+i+sY12Yf+G/sb9K3 +hqfUYmhAgZBhcdy+mUx4JpUkNdFlfdctkPNJxDGNPCaRkmtHWw6pEiJLKAm9YOYN +iu8JXyLgYBHY1cuW6YBVg0tMUzBACzo44PEPpmkCgYEAhAroOZaSByBkVKtHKX8D +/j+MUbNyY3GZN81byLpJQ+whFLtNCfkC6YL7zchhnX1S5nX0kZTGzNP2rEI5y2+a +5sK5t3lXrY+aLRPI+gTXe3jxJBDfLp58HhZMGVlLBxx3tTqFzw0KyPPU6IGUgo68 +tgkF4hAUb2u0WO/Vvmc2xfo= +-----END PRIVATE KEY----- diff --git a/tests/wpt/runner/certs/web-platform.test.pem b/tests/wpt/runner/certs/web-platform.test.pem new file mode 100644 index 000000000..0e48d23e2 --- /dev/null +++ b/tests/wpt/runner/certs/web-platform.test.pem @@ -0,0 +1,133 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 905719 (0xdd1f7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: CN=web-platform-tests + Validity + Not Before: Jun 2 02:45:17 2023 GMT + Not After : Jun 1 02:45:17 2024 GMT + Subject: CN=web-platform.test + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:db:41:da:58:76:96:0d:77:0d:b5:db:56:80:8c: + 8f:c0:6c:df:23:47:12:e3:0f:72:9a:6a:13:fb:c4: + 2b:cc:76:ed:20:05:26:d5:92:be:0e:61:43:1c:93: + 37:fe:c5:63:d4:eb:0d:d8:67:c0:94:b0:87:3f:35: + 00:fa:8f:77:42:d4:8c:f7:c7:9f:b4:1e:91:5f:aa: + 85:b1:db:66:e4:cd:e2:0c:ef:f5:fd:f2:78:ec:9a: + 5b:f8:ed:30:44:9a:f3:0a:0f:da:f3:df:21:c6:31: + d8:bd:32:6c:dd:42:88:50:06:71:68:89:d0:95:fc: + 05:aa:78:a1:0e:97:13:d8:87:37:53:82:16:ef:ec: + 53:21:0f:82:3b:1f:3d:ce:3a:f7:e6:b2:bc:04:59: + 37:2f:3f:4d:ff:d5:5e:3a:27:88:76:a0:82:d8:10: + b8:25:cd:2e:5d:09:01:44:8c:06:dd:f1:22:09:95: + 3f:98:32:35:8c:65:7c:c7:83:12:3e:50:d2:45:81: + c6:cd:50:49:11:ff:7b:f9:f1:81:ab:75:59:a7:78: + 8e:54:8d:5b:35:a2:4f:2e:a3:f7:b2:f4:e6:89:4b: + 05:8e:0a:b5:97:6a:c8:25:30:39:14:f4:9f:09:5a: + 87:1e:fd:0f:0f:22:53:86:74:90:ac:f9:b4:7d:da: + 91:2f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + AF:6B:74:D4:D8:85:48:A2:50:B9:E3:9C:2D:1A:91:A9:94:75:60:A5 + X509v3 Authority Key Identifier: + keyid:66:D9:96:67:2C:0F:BA:46:72:93:D2:AE:35:E7:B4:40:AA:88:E3:4A + + X509v3 Key Usage: + Digital Signature, Non Repudiation, Key Encipherment + X509v3 Extended Key Usage: + TLS Web Server Authentication + X509v3 Subject Alternative Name: + DNS:web-platform.test, DNS:not-web-platform.test, DNS:www.web-platform.test, DNS:www1.web-platform.test, DNS:www2.web-platform.test, DNS:www.not-web-platform.test, DNS:www.www.web-platform.test, DNS:www2.not-web-platform.test, DNS:www1.not-web-platform.test, DNS:www.www1.web-platform.test, DNS:www1.www.web-platform.test, DNS:www2.www.web-platform.test, DNS:www.www2.web-platform.test, DNS:www2.www1.web-platform.test, DNS:www2.www2.web-platform.test, DNS:www1.www1.web-platform.test, DNS:www1.www2.web-platform.test, DNS:www.www.not-web-platform.test, DNS:www.www2.not-web-platform.test, DNS:www.www1.not-web-platform.test, DNS:xn--lve-6lad.web-platform.test, DNS:www1.www.not-web-platform.test, DNS:www2.www.not-web-platform.test, DNS:www2.www1.not-web-platform.test, DNS:www1.www2.not-web-platform.test, DNS:www1.www1.not-web-platform.test, DNS:www2.www2.not-web-platform.test, DNS:www.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.www.web-platform.test, DNS:xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www2.web-platform.test, DNS:xn--lve-6lad.www1.web-platform.test, DNS:www2.xn--lve-6lad.web-platform.test, DNS:www1.xn--lve-6lad.web-platform.test, DNS:www.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www.not-web-platform.test, DNS:xn--lve-6lad.www2.not-web-platform.test, DNS:xn--lve-6lad.www1.not-web-platform.test, DNS:www1.xn--lve-6lad.not-web-platform.test, DNS:www2.xn--lve-6lad.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.not-web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test + Signature Algorithm: sha256WithRSAEncryption + 20:b8:e5:97:9b:08:4c:bf:34:a6:4c:4b:7c:97:b6:93:5d:29: + 1a:f0:65:66:19:8b:77:5e:7b:e5:33:96:68:31:2e:40:5d:47: + 47:56:ba:75:18:3a:e8:8a:12:8b:2f:a7:30:f0:91:82:6c:88: + c3:31:7d:07:aa:9b:78:98:4c:c7:fd:e9:28:89:c0:57:2c:ed: + 28:2a:79:b7:6d:bf:7a:6f:15:e4:ae:4e:1c:56:1e:27:78:5a: + a5:7f:78:b6:e8:d8:38:79:cc:32:53:9c:0e:8f:fe:a2:c2:82: + 27:b1:d3:f9:ee:10:9b:5a:42:26:3d:ee:05:b3:15:9f:40:ce: + 8d:6a:4f:97:3b:20:37:6e:ff:65:ca:18:85:d3:77:0e:4e:fe: + b0:71:61:91:22:28:9e:d5:17:13:8b:85:1a:8b:9b:17:ff:bd: + b5:fd:81:c5:2d:de:40:cd:47:c3:a5:9e:eb:70:b3:e2:57:8a: + 46:02:22:41:a5:5f:71:30:3e:65:30:46:70:4d:67:49:3a:11: + f0:03:5c:6b:a5:ae:ca:73:b0:35:91:89:63:9a:65:c9:65:ff: + 43:59:5b:af:b6:b9:2e:35:d6:47:26:d1:d4:7b:22:c1:79:28: + cb:8c:a3:d2:d3:1d:b6:dc:39:de:f1:ba:b0:10:91:bd:16:e9: + 53:cd:77:e4 +-----BEGIN CERTIFICATE----- +MIIMsjCCC5qgAwIBAgIDDdH3MA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl +Yi1wbGF0Zm9ybS10ZXN0czAeFw0yMzA2MDIwMjQ1MTdaFw0yNDA2MDEwMjQ1MTda +MBwxGjAYBgNVBAMMEXdlYi1wbGF0Zm9ybS50ZXN0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA20HaWHaWDXcNtdtWgIyPwGzfI0cS4w9ymmoT+8QrzHbt +IAUm1ZK+DmFDHJM3/sVj1OsN2GfAlLCHPzUA+o93QtSM98eftB6RX6qFsdtm5M3i +DO/1/fJ47Jpb+O0wRJrzCg/a898hxjHYvTJs3UKIUAZxaInQlfwFqnihDpcT2Ic3 +U4IW7+xTIQ+COx89zjr35rK8BFk3Lz9N/9VeOieIdqCC2BC4Jc0uXQkBRIwG3fEi +CZU/mDI1jGV8x4MSPlDSRYHGzVBJEf97+fGBq3VZp3iOVI1bNaJPLqP3svTmiUsF +jgq1l2rIJTA5FPSfCVqHHv0PDyJThnSQrPm0fdqRLwIDAQABo4IJ+jCCCfYwCQYD +VR0TBAIwADAdBgNVHQ4EFgQUr2t01NiFSKJQueOcLRqRqZR1YKUwHwYDVR0jBBgw +FoAUZtmWZywPukZyk9KuNee0QKqI40owCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoG +CCsGAQUFBwMBMIIJhQYDVR0RBIIJfDCCCXiCEXdlYi1wbGF0Zm9ybS50ZXN0ghVu +b3Qtd2ViLXBsYXRmb3JtLnRlc3SCFXd3dy53ZWItcGxhdGZvcm0udGVzdIIWd3d3 +MS53ZWItcGxhdGZvcm0udGVzdIIWd3d3Mi53ZWItcGxhdGZvcm0udGVzdIIZd3d3 +Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIZd3d3Lnd3dy53ZWItcGxhdGZvcm0udGVz +dIIad3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCGnd3dzEubm90LXdlYi1wbGF0 +Zm9ybS50ZXN0ghp3d3cud3d3MS53ZWItcGxhdGZvcm0udGVzdIIad3d3MS53d3cu +d2ViLXBsYXRmb3JtLnRlc3SCGnd3dzIud3d3LndlYi1wbGF0Zm9ybS50ZXN0ghp3 +d3cud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cxLndlYi1wbGF0Zm9y +bS50ZXN0ght3d3cyLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCG3d3dzEud3d3MS53 +ZWItcGxhdGZvcm0udGVzdIIbd3d3MS53d3cyLndlYi1wbGF0Zm9ybS50ZXN0gh13 +d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIed3d3Lnd3dzIubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gh53d3cud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCHnhu +LS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdIIed3d3MS53d3cubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gh53d3cyLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3 +dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3Mi5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SC +H3d3dzIud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCInd3dy54bi0tbHZlLTZs +YWQud2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC53d3cud2ViLXBsYXRm +b3JtLnRlc3SCInhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCI3hu +LS1sdmUtNmxhZC53d3cyLndlYi1wbGF0Zm9ybS50ZXN0giN4bi0tbHZlLTZsYWQu +d3d3MS53ZWItcGxhdGZvcm0udGVzdIIjd3d3Mi54bi0tbHZlLTZsYWQud2ViLXBs +YXRmb3JtLnRlc3SCI3d3dzEueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0 +giZ3d3cueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdIImeG4tLWx2 +ZS02bGFkLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCJ3huLS1sdmUtNmxhZC53 +d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIIneG4tLWx2ZS02bGFkLnd3dzEubm90 +LXdlYi1wbGF0Zm9ybS50ZXN0gid3d3cxLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBs +YXRmb3JtLnRlc3SCJ3d3dzIueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIIpeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SC +K3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCLXd3 +dy54bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdIIteG4t +LW44ajZkczUzbHd3a3JxaHYyOGEud3d3LndlYi1wbGF0Zm9ybS50ZXN0gi14bi0t +bjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCLnd3dzIu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzEu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCL3huLS1s +dmUtNmxhZC54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjF3d3cu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjF4 +bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0 +gjJ3d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIIyeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCMnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cyLm5vdC13 +ZWItcGxhdGZvcm0udGVzdII2eG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4tLWx2 +ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0gjZ4bi0tbHZlLTZsYWQueG4tLW44ajZk +czUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1sdmUtNmxhZC54 +bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCOnhu +LS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCQXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1uOGo2ZHM1M2x3 +d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gkV4bi0tbjhqNmRzNTNsd3drcnFo +djI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRl +c3QwDQYJKoZIhvcNAQELBQADggEBACC45ZebCEy/NKZMS3yXtpNdKRrwZWYZi3de +e+UzlmgxLkBdR0dWunUYOuiKEosvpzDwkYJsiMMxfQeqm3iYTMf96SiJwFcs7Sgq +ebdtv3pvFeSuThxWHid4WqV/eLbo2Dh5zDJTnA6P/qLCgiex0/nuEJtaQiY97gWz +FZ9Azo1qT5c7IDdu/2XKGIXTdw5O/rBxYZEiKJ7VFxOLhRqLmxf/vbX9gcUt3kDN +R8Olnutws+JXikYCIkGlX3EwPmUwRnBNZ0k6EfADXGulrspzsDWRiWOaZcll/0NZ +W6+2uS411kcm0dR7IsF5KMuMo9LTHbbcOd7xurAQkb0W6VPNd+Q= +-----END CERTIFICATE----- diff --git a/tests/wpt/runner/config.json b/tests/wpt/runner/config.json new file mode 100644 index 000000000..92472371f --- /dev/null +++ b/tests/wpt/runner/config.json @@ -0,0 +1,11 @@ +{ + "check_subdomains": false, + "ssl": { + "type": "pregenerated", + "pregenerated": { + "ca_cert_path": "../../../tests/wpt/runner/certs/cacert.pem", + "host_cert_path": "../../../tests/wpt/runner/certs/web-platform.test.pem", + "host_key_path": "../../../tests/wpt/runner/certs/web-platform.test.key" + } + } +} diff --git a/tests/wpt/runner/expectation.json b/tests/wpt/runner/expectation.json new file mode 100644 index 000000000..29eeea08c --- /dev/null +++ b/tests/wpt/runner/expectation.json @@ -0,0 +1,10998 @@ +{ + "WebCryptoAPI": { + "getRandomValues.any.html": true, + "getRandomValues.any.worker.html": true, + "derive_bits_keys": { + "ecdh_bits.https.any.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 with null length", + "P-521 short result", + "P-521 non-multiple of 8 bits", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveBits usage for base key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key", + "P-521 asking for too many bits" + ], + "ecdh_bits.https.any.worker.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 with null length", + "P-521 short result", + "P-521 non-multiple of 8 bits", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveBits usage for base key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key", + "P-521 asking for too many bits" + ], + "ecdh_keys.https.any.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveKey usage for base key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key" + ], + "ecdh_keys.https.any.worker.html": [ + "P-521 good parameters", + "P-521 mixed case parameters", + "P-521 mismatched curves", + "P-521 public property of algorithm is not an ECDSA public key", + "P-521 no deriveKey usage for base key", + "P-521 public property value is a private key", + "P-521 public property value is a secret key" + ], + "hkdf.https.any.html?1-1000": true, + "hkdf.https.any.html?1001-2000": true, + "hkdf.https.any.html?2001-3000": true, + "hkdf.https.any.html?3001-last": true, + "hkdf.https.any.worker.html?1-1000": true, + "hkdf.https.any.worker.html?1001-2000": true, + "hkdf.https.any.worker.html?2001-3000": true, + "hkdf.https.any.worker.html?3001-last": true, + "pbkdf2.https.any.html?1-1000": true, + "pbkdf2.https.any.html?1001-2000": true, + "pbkdf2.https.any.html?2001-3000": true, + "pbkdf2.https.any.html?3001-4000": true, + "pbkdf2.https.any.html?4001-5000": true, + "pbkdf2.https.any.html?5001-6000": true, + "pbkdf2.https.any.html?6001-7000": true, + "pbkdf2.https.any.html?7001-8000": true, + "pbkdf2.https.any.html?8001-last": true, + "pbkdf2.https.any.worker.html?1-1000": true, + "pbkdf2.https.any.worker.html?1001-2000": true, + "pbkdf2.https.any.worker.html?2001-3000": true, + "pbkdf2.https.any.worker.html?3001-4000": true, + "pbkdf2.https.any.worker.html?4001-5000": true, + "pbkdf2.https.any.worker.html?5001-6000": true, + "pbkdf2.https.any.worker.html?6001-7000": true, + "pbkdf2.https.any.worker.html?7001-8000": true, + "pbkdf2.https.any.worker.html?8001-last": true, + "cfrg_curves_bits.https.any.html": [ + "X25519 key derivation checks for all-zero value result with a key of order 0", + "X25519 key derivation checks for all-zero value result with a key of order 1", + "X25519 key derivation checks for all-zero value result with a key of order 8", + "X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X448 key derivation checks for all-zero value result with a key of order 0", + "X448 key derivation checks for all-zero value result with a key of order 1", + "X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 with null length", + "X25519 short result", + "X25519 non-multiple of 8 bits", + "X25519 mismatched algorithms", + "X25519 no deriveBits usage for base key", + "X448 good parameters", + "X448 mixed case parameters", + "X448 with null length", + "X448 short result", + "X448 non-multiple of 8 bits", + "X448 mismatched algorithms", + "X448 no deriveBits usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key", + "X448 asking for too many bits" + ], + "cfrg_curves_bits.https.any.worker.html": [ + "X25519 key derivation checks for all-zero value result with a key of order 0", + "X25519 key derivation checks for all-zero value result with a key of order 1", + "X25519 key derivation checks for all-zero value result with a key of order 8", + "X25519 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X25519 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X25519 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X448 key derivation checks for all-zero value result with a key of order 0", + "X448 key derivation checks for all-zero value result with a key of order 1", + "X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)", + "X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)", + "X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 with null length", + "X25519 short result", + "X25519 non-multiple of 8 bits", + "X25519 mismatched algorithms", + "X25519 no deriveBits usage for base key", + "X448 good parameters", + "X448 mixed case parameters", + "X448 with null length", + "X448 short result", + "X448 non-multiple of 8 bits", + "X448 mismatched algorithms", + "X448 no deriveBits usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key", + "X448 asking for too many bits" + ], + "cfrg_curves_keys.https.any.html": [ + "X25519 deriveBits checks for all-zero value result with a key of order 0", + "X25519 deriveBits checks for all-zero value result with a key of order 1", + "X25519 deriveBits checks for all-zero value result with a key of order 8", + "X25519 deriveBits checks for all-zero value result with a key of order p-1 (order 2)", + "X25519 deriveBits checks for all-zero value result with a key of order p (=0, order 4)", + "X25519 deriveBits checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X448 deriveBits checks for all-zero value result with a key of order 0", + "X448 deriveBits checks for all-zero value result with a key of order 1", + "X448 deriveBits checks for all-zero value result with a key of order p-1 (order 2)", + "X448 deriveBits checks for all-zero value result with a key of order p (=0, order 4)", + "X448 deriveBits checks for all-zero value result with a key of order p+1 (=1, order 1)", + "Key derivation using a X25519 generated keys.", + "Key derivation using a X448 generated keys.", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 mismatched algorithms", + "X448 good parameters", + "X448 mixed case parameters", + "X448 mismatched algorithms", + "X448 no deriveKey usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key" + ], + "cfrg_curves_keys.https.any.worker.html": [ + "X25519 deriveBits checks for all-zero value result with a key of order 0", + "X25519 deriveBits checks for all-zero value result with a key of order 1", + "X25519 deriveBits checks for all-zero value result with a key of order 8", + "X25519 deriveBits checks for all-zero value result with a key of order p-1 (order 2)", + "X25519 deriveBits checks for all-zero value result with a key of order p (=0, order 4)", + "X25519 deriveBits checks for all-zero value result with a key of order p+1 (=1, order 1)", + "X448 deriveBits checks for all-zero value result with a key of order 0", + "X448 deriveBits checks for all-zero value result with a key of order 1", + "X448 deriveBits checks for all-zero value result with a key of order p-1 (order 2)", + "X448 deriveBits checks for all-zero value result with a key of order p (=0, order 4)", + "X448 deriveBits checks for all-zero value result with a key of order p+1 (=1, order 1)", + "Key derivation using a X25519 generated keys.", + "Key derivation using a X448 generated keys.", + "X25519 good parameters", + "X25519 mixed case parameters", + "X25519 mismatched algorithms", + "X448 good parameters", + "X448 mixed case parameters", + "X448 mismatched algorithms", + "X448 no deriveKey usage for base key", + "X448 base key is not a private key", + "X448 public property value is a private key", + "X448 public property value is a secret key" + ] + }, + "digest": { + "digest.https.any.html": true, + "digest.https.any.worker.html": true + }, + "encrypt_decrypt": { + "aes_cbc.https.any.html": true, + "aes_cbc.https.any.worker.html": true, + "aes_ctr.https.any.html": true, + "aes_ctr.https.any.worker.html": true, + "aes_gcm.https.any.html": [ + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext" + ], + "aes_gcm.https.any.worker.html": [ + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 96-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 96-bit iv decryption with altered ciphertext" + ], + "rsa_oaep.https.any.html": true, + "rsa_oaep.https.any.worker.html": true, + "aes_gcm_256_iv.https.any.html": [ + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext" + ], + "aes_gcm_256_iv.https.any.worker.html": [ + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv with altered plaintext", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption", + "AES-GCM 128-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 128-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 192-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 32-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 64-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 96-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 104-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 112-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 120-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, 128-bit tag, 256-bit iv decryption with altered ciphertext", + "AES-GCM 256-bit key, no additional data, 128-bit tag, 256-bit iv decryption with altered ciphertext" + ] + }, + "generateKey": { + "failures_AES-CBC.https.any.html": true, + "failures_AES-CBC.https.any.worker.html": true, + "failures_AES-CTR.https.any.html": true, + "failures_AES-CTR.https.any.worker.html": true, + "failures_AES-GCM.https.any.html": true, + "failures_AES-GCM.https.any.worker.html": true, + "failures_AES-KW.https.any.html": true, + "failures_AES-KW.https.any.worker.html": true, + "failures_ECDH.https.any.html": true, + "failures_ECDH.https.any.worker.html": true, + "failures_ECDSA.https.any.html": true, + "failures_ECDSA.https.any.worker.html": true, + "failures_HMAC.https.any.html": true, + "failures_HMAC.https.any.worker.html": true, + "failures_RSA-OAEP.https.any.html": true, + "failures_RSA-OAEP.https.any.worker.html": true, + "failures_RSA-PSS.https.any.html": true, + "failures_RSA-PSS.https.any.worker.html": true, + "failures_RSASSA-PKCS1-v1_5.https.any.html": true, + "failures_RSASSA-PKCS1-v1_5.https.any.worker.html": true, + "successes_AES-CBC.https.any.html": true, + "successes_AES-CBC.https.any.worker.html": true, + "successes_AES-CTR.https.any.html": true, + "successes_AES-CTR.https.any.worker.html": true, + "successes_AES-GCM.https.any.html": true, + "successes_AES-GCM.https.any.worker.html": true, + "successes_AES-KW.https.any.html": true, + "successes_AES-KW.https.any.worker.html": true, + "successes_HMAC.https.any.html": true, + "successes_HMAC.https.any.worker.html": true, + "successes_ECDH.https.any.html": true, + "successes_ECDH.https.any.worker.html": true, + "successes_ECDSA.https.any.html": true, + "successes_ECDSA.https.any.worker.html": true, + "successes_RSA-OAEP.https.any.html?1-10": true, + "successes_RSA-OAEP.https.any.html?101-110": true, + "successes_RSA-OAEP.https.any.html?11-20": true, + "successes_RSA-OAEP.https.any.html?111-120": true, + "successes_RSA-OAEP.https.any.html?121-130": true, + "successes_RSA-OAEP.https.any.html?131-140": true, + "successes_RSA-OAEP.https.any.html?141-150": true, + "successes_RSA-OAEP.https.any.html?151-last": true, + "successes_RSA-OAEP.https.any.html?21-30": true, + "successes_RSA-OAEP.https.any.html?31-40": true, + "successes_RSA-OAEP.https.any.html?41-50": true, + "successes_RSA-OAEP.https.any.html?51-60": true, + "successes_RSA-OAEP.https.any.html?61-70": true, + "successes_RSA-OAEP.https.any.html?71-80": true, + "successes_RSA-OAEP.https.any.html?81-90": true, + "successes_RSA-OAEP.https.any.html?91-100": true, + "successes_RSA-OAEP.https.any.worker.html?1-10": true, + "successes_RSA-OAEP.https.any.worker.html?101-110": true, + "successes_RSA-OAEP.https.any.worker.html?11-20": true, + "successes_RSA-OAEP.https.any.worker.html?111-120": true, + "successes_RSA-OAEP.https.any.worker.html?121-130": true, + "successes_RSA-OAEP.https.any.worker.html?131-140": true, + "successes_RSA-OAEP.https.any.worker.html?141-150": true, + "successes_RSA-OAEP.https.any.worker.html?151-last": true, + "successes_RSA-OAEP.https.any.worker.html?21-30": true, + "successes_RSA-OAEP.https.any.worker.html?31-40": true, + "successes_RSA-OAEP.https.any.worker.html?41-50": true, + "successes_RSA-OAEP.https.any.worker.html?51-60": true, + "successes_RSA-OAEP.https.any.worker.html?61-70": true, + "successes_RSA-OAEP.https.any.worker.html?71-80": true, + "successes_RSA-OAEP.https.any.worker.html?81-90": true, + "successes_RSA-OAEP.https.any.worker.html?91-100": true, + "successes_RSA-PSS.https.any.html?1-10": true, + "successes_RSA-PSS.https.any.html?11-20": true, + "successes_RSA-PSS.https.any.html?21-30": true, + "successes_RSA-PSS.https.any.html?31-last": true, + "successes_RSA-PSS.https.any.worker.html?1-10": true, + "successes_RSA-PSS.https.any.worker.html?11-20": true, + "successes_RSA-PSS.https.any.worker.html?21-30": true, + "successes_RSA-PSS.https.any.worker.html?31-last": true, + "successes_RSASSA-PKCS1-v1_5.https.any.html?1-10": true, + "successes_RSASSA-PKCS1-v1_5.https.any.html?11-20": true, + "successes_RSASSA-PKCS1-v1_5.https.any.html?21-30": true, + "successes_RSASSA-PKCS1-v1_5.https.any.html?31-last": true, + "successes_RSASSA-PKCS1-v1_5.https.any.worker.html?1-10": true, + "successes_RSASSA-PKCS1-v1_5.https.any.worker.html?11-20": true, + "successes_RSASSA-PKCS1-v1_5.https.any.worker.html?21-30": true, + "successes_RSASSA-PKCS1-v1_5.https.any.worker.html?31-last": true, + "failures_Ed25519.https.any.html": true, + "failures_Ed25519.https.any.worker.html": true, + "failures_Ed448.https.any.html": [ + "Bad usages: generateKey({name: Ed448}, true, [encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [deriveBits])", + "Bad usages: generateKey({name: Ed448}, true, [sign, deriveBits])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, deriveBits])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, deriveBits])", + "Empty usages: generateKey({name: Ed448}, false, [])", + "Empty usages: generateKey({name: Ed448}, true, [])" + ], + "failures_Ed448.https.any.worker.html": [ + "Bad usages: generateKey({name: Ed448}, true, [encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, encrypt])", + "Bad usages: generateKey({name: Ed448}, true, [decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, decrypt])", + "Bad usages: generateKey({name: Ed448}, true, [wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, wrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, unwrapKey])", + "Bad usages: generateKey({name: Ed448}, true, [deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, deriveKey])", + "Bad usages: generateKey({name: Ed448}, true, [deriveBits])", + "Bad usages: generateKey({name: Ed448}, true, [sign, deriveBits])", + "Bad usages: generateKey({name: Ed448}, true, [verify, sign, deriveBits])", + "Bad usages: generateKey({name: Ed448}, true, [sign, verify, sign, sign, verify, deriveBits])", + "Empty usages: generateKey({name: Ed448}, false, [])", + "Empty usages: generateKey({name: Ed448}, true, [])" + ], + "failures_X25519.https.any.html": true, + "failures_X25519.https.any.worker.html": true, + "failures_X448.https.any.html": [ + "Bad usages: generateKey({name: X448}, true, [encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])", + "Bad usages: generateKey({name: X448}, true, [decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])", + "Bad usages: generateKey({name: X448}, true, [sign])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, sign])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, sign])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, sign])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])", + "Bad usages: generateKey({name: X448}, true, [verify])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, verify])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, verify])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, verify])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])", + "Bad usages: generateKey({name: X448}, true, [wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])", + "Empty usages: generateKey({name: X448}, false, [])", + "Empty usages: generateKey({name: X448}, true, [])" + ], + "failures_X448.https.any.worker.html": [ + "Bad usages: generateKey({name: X448}, true, [encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, encrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])", + "Bad usages: generateKey({name: X448}, true, [decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, decrypt])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])", + "Bad usages: generateKey({name: X448}, true, [sign])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, sign])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, sign])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, sign])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])", + "Bad usages: generateKey({name: X448}, true, [verify])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, verify])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, verify])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, verify])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])", + "Bad usages: generateKey({name: X448}, true, [wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])", + "Bad usages: generateKey({name: X448}, true, [unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveBits, unwrapKey])", + "Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])", + "Empty usages: generateKey({name: X448}, false, [])", + "Empty usages: generateKey({name: X448}, true, [])" + ], + "successes_Ed25519.https.any.html": true, + "successes_Ed25519.https.any.worker.html": true, + "successes_Ed448.https.any.html": false, + "successes_Ed448.https.any.worker.html": false, + "successes_X25519.https.any.html": true, + "successes_X25519.https.any.worker.html": true, + "successes_X448.https.any.html": false, + "successes_X448.https.any.worker.html": false + }, + "historical.any.html": false, + "historical.any.worker.html": false, + "idlharness.https.any.html": [ + "Window interface: attribute crypto" + ], + "idlharness.https.any.worker.html": [ + "WorkerGlobalScope interface: attribute crypto" + ], + "import_export": { + "ec_importKey.https.any.html": [ + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])" + ], + "ec_importKey.https.any.worker.html": [ + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [])", + "Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [])", + "Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [])", + "Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [])", + "Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, true, [])", + "Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [])", + "Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [])", + "Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [])", + "Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits])", + "Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])", + "Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits])", + "ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])" + ], + "rsa_importKey.https.any.html": [ + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])" + ], + "rsa_importKey.https.any.worker.html": [ + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-OAEP}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSA-PSS}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 1024 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 1024 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 2048 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 2048 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [])", + "Empty Usages: 4096 bits (pkcs8, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])", + "Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [])" + ], + "symmetric_importKey.https.any.html": [ + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [])" + ], + "symmetric_importKey.https.any.worker.html": [ + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [])", + "Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [])", + "Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [])", + "Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [])", + "Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [])", + "Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [])", + "Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [])" + ], + "okp_importKey.https.any.html": [ + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(kty, crv, x), {name: Ed448}, true, [verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(kty, crv, x), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify, verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify, verify])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(kty, crv, x), {name: Ed448}, true, [verify, verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify, verify])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign, sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign, sign])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign, sign])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify, verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify, verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify, verify])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign, sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign, sign])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])", + "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])", + "Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])", + "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])" + ], + "okp_importKey.https.any.worker.html": [ + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(kty, crv, x), {name: Ed448}, true, [verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(kty, crv, x), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify, verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify, verify])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(kty, crv, x), {name: Ed448}, true, [verify, verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify, verify])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign, sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign, sign])", + "Good parameters with ignored JWK alg: Ed448 (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign, sign])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [])", + "Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify, verify])", + "Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify, verify])", + "Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify, verify])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign])", + "Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign, sign])", + "Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign, sign])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])", + "Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])", + "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])", + "Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])", + "Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])", + "Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])", + "Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])" + ], + "okp_importKey_failures_Ed25519.https.any.html": [ + "Empty usages: importKey(pkcs8, {name: Ed25519}, true, [])", + "Empty usages: importKey(pkcs8, {name: Ed25519}, false, [])", + "Empty usages: importKey(jwk(private), {name: Ed25519}, true, [])", + "Empty usages: importKey(jwk(private), {name: Ed25519}, false, [])", + "Bad key length: importKey(raw, {name: Ed25519}, true, [verify])", + "Bad key length: importKey(raw, {name: Ed25519}, false, [verify])", + "Bad key length: importKey(raw, {name: Ed25519}, true, [verify, verify])", + "Bad key length: importKey(raw, {name: Ed25519}, false, [verify, verify])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])", + "Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign])", + "Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])" + ], + "okp_importKey_failures_Ed25519.https.any.worker.html": [ + "Empty usages: importKey(pkcs8, {name: Ed25519}, true, [])", + "Empty usages: importKey(pkcs8, {name: Ed25519}, false, [])", + "Empty usages: importKey(jwk(private), {name: Ed25519}, true, [])", + "Empty usages: importKey(jwk(private), {name: Ed25519}, false, [])", + "Bad key length: importKey(raw, {name: Ed25519}, true, [verify])", + "Bad key length: importKey(raw, {name: Ed25519}, false, [verify])", + "Bad key length: importKey(raw, {name: Ed25519}, true, [verify, verify])", + "Bad key length: importKey(raw, {name: Ed25519}, false, [verify, verify])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])", + "Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign])", + "Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])" + ], + "okp_importKey_failures_Ed448.https.any.html": false, + "okp_importKey_failures_Ed448.https.any.worker.html": false, + "okp_importKey_failures_X25519.https.any.html": [ + "Empty usages: importKey(pkcs8, {name: X25519}, true, [])", + "Empty usages: importKey(pkcs8, {name: X25519}, false, [])", + "Empty usages: importKey(jwk(private), {name: X25519}, true, [])", + "Empty usages: importKey(jwk(private), {name: X25519}, false, [])", + "Bad key length: importKey(raw, {name: X25519}, true, [])", + "Bad key length: importKey(raw, {name: X25519}, false, [])", + "Bad key length: importKey(jwk (public) , {name: X25519}, true, [])", + "Bad key length: importKey(jwk (public) , {name: X25519}, false, [])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])" + ], + "okp_importKey_failures_X25519.https.any.worker.html": [ + "Empty usages: importKey(pkcs8, {name: X25519}, true, [])", + "Empty usages: importKey(pkcs8, {name: X25519}, false, [])", + "Empty usages: importKey(jwk(private), {name: X25519}, true, [])", + "Empty usages: importKey(jwk(private), {name: X25519}, false, [])", + "Bad key length: importKey(raw, {name: X25519}, true, [])", + "Bad key length: importKey(raw, {name: X25519}, false, [])", + "Bad key length: importKey(jwk (public) , {name: X25519}, true, [])", + "Bad key length: importKey(jwk (public) , {name: X25519}, false, [])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits])", + "Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits])", + "Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])" + ], + "okp_importKey_failures_X448.https.any.html": false, + "okp_importKey_failures_X448.https.any.worker.html": false + }, + "randomUUID.https.any.html": true, + "randomUUID.https.any.worker.html": true, + "sign_verify": { + "ecdsa.https.any.html": [ + "ECDSA P-256 with SHA-1 verification", + "ECDSA P-256 with SHA-384 verification", + "ECDSA P-256 with SHA-512 verification", + "ECDSA P-384 with SHA-1 verification", + "ECDSA P-384 with SHA-256 verification", + "ECDSA P-384 with SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification", + "ECDSA P-256 with SHA-1 verification with altered signature after call", + "ECDSA P-256 with SHA-384 verification with altered signature after call", + "ECDSA P-256 with SHA-512 verification with altered signature after call", + "ECDSA P-384 with SHA-1 verification with altered signature after call", + "ECDSA P-384 with SHA-256 verification with altered signature after call", + "ECDSA P-384 with SHA-512 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call", + "ECDSA P-256 with SHA-1 with altered plaintext after call", + "ECDSA P-256 with SHA-384 with altered plaintext after call", + "ECDSA P-256 with SHA-512 with altered plaintext after call", + "ECDSA P-384 with SHA-1 with altered plaintext after call", + "ECDSA P-384 with SHA-256 with altered plaintext after call", + "ECDSA P-384 with SHA-512 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage", + "importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage", + "importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage", + "importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage", + "ECDSA P-256 with SHA-1 round trip", + "ECDSA P-256 with SHA-384 round trip", + "ECDSA P-256 with SHA-512 round trip", + "ECDSA P-384 with SHA-1 round trip", + "ECDSA P-384 with SHA-256 round trip", + "ECDSA P-384 with SHA-512 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-1 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-256 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-384 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-512 round trip", + "ECDSA P-256 with SHA-1 verification failure due to altered signature", + "ECDSA P-256 with SHA-384 verification failure due to altered signature", + "ECDSA P-256 with SHA-512 verification failure due to altered signature", + "ECDSA P-384 with SHA-1 verification failure due to altered signature", + "ECDSA P-384 with SHA-256 verification failure due to altered signature", + "ECDSA P-384 with SHA-512 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature", + "ECDSA P-256 with SHA-256 verification failure due to wrong hash", + "ECDSA P-256 with SHA-384 verification failure due to wrong hash", + "ECDSA P-256 with SHA-512 verification failure due to wrong hash", + "ECDSA P-384 with SHA-1 verification failure due to wrong hash", + "ECDSA P-384 with SHA-256 verification failure due to wrong hash", + "ECDSA P-384 with SHA-384 verification failure due to wrong hash", + "ECDSA P-384 with SHA-512 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name", + "ECDSA P-256 with SHA-1 verification failure due to shortened signature", + "ECDSA P-256 with SHA-384 verification failure due to shortened signature", + "ECDSA P-256 with SHA-512 verification failure due to shortened signature", + "ECDSA P-384 with SHA-1 verification failure due to shortened signature", + "ECDSA P-384 with SHA-256 verification failure due to shortened signature", + "ECDSA P-384 with SHA-512 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature", + "ECDSA P-256 with SHA-1 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-384 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-512 verification failure due to altered plaintext", + "ECDSA P-384 with SHA-1 verification failure due to altered plaintext", + "ECDSA P-384 with SHA-256 verification failure due to altered plaintext", + "ECDSA P-384 with SHA-512 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-1 - Signature has excess padding verification", + "ECDSA P-256 with SHA-1 - The signature is empty verification", + "ECDSA P-256 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - Signature has excess padding verification", + "ECDSA P-256 with SHA-384 - The signature is empty verification", + "ECDSA P-256 with SHA-384 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-512 - Signature has excess padding verification", + "ECDSA P-256 with SHA-512 - The signature is empty verification", + "ECDSA P-256 with SHA-512 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-1 - Signature has excess padding verification", + "ECDSA P-384 with SHA-1 - The signature is empty verification", + "ECDSA P-384 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-256 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-256 - Signature has excess padding verification", + "ECDSA P-384 with SHA-256 - The signature is empty verification", + "ECDSA P-384 with SHA-256 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-512 - Signature has excess padding verification", + "ECDSA P-384 with SHA-512 - The signature is empty verification", + "ECDSA P-384 with SHA-512 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name" + ], + "ecdsa.https.any.worker.html": [ + "ECDSA P-256 with SHA-1 verification", + "ECDSA P-256 with SHA-384 verification", + "ECDSA P-256 with SHA-512 verification", + "ECDSA P-384 with SHA-1 verification", + "ECDSA P-384 with SHA-256 verification", + "ECDSA P-384 with SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification", + "ECDSA P-256 with SHA-1 verification with altered signature after call", + "ECDSA P-256 with SHA-384 verification with altered signature after call", + "ECDSA P-256 with SHA-512 verification with altered signature after call", + "ECDSA P-384 with SHA-1 verification with altered signature after call", + "ECDSA P-384 with SHA-256 verification with altered signature after call", + "ECDSA P-384 with SHA-512 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call", + "ECDSA P-256 with SHA-1 with altered plaintext after call", + "ECDSA P-256 with SHA-384 with altered plaintext after call", + "ECDSA P-256 with SHA-512 with altered plaintext after call", + "ECDSA P-384 with SHA-1 with altered plaintext after call", + "ECDSA P-384 with SHA-256 with altered plaintext after call", + "ECDSA P-384 with SHA-512 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call", + "importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify", + "importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign", + "importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage", + "importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage", + "importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage", + "importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage", + "ECDSA P-256 with SHA-1 round trip", + "ECDSA P-256 with SHA-384 round trip", + "ECDSA P-256 with SHA-512 round trip", + "ECDSA P-384 with SHA-1 round trip", + "ECDSA P-384 with SHA-256 round trip", + "ECDSA P-384 with SHA-512 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-1 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-256 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-384 round trip", + "importVectorKeys step: ECDSA P-521 with SHA-512 round trip", + "ECDSA P-256 with SHA-1 verification failure due to altered signature", + "ECDSA P-256 with SHA-384 verification failure due to altered signature", + "ECDSA P-256 with SHA-512 verification failure due to altered signature", + "ECDSA P-384 with SHA-1 verification failure due to altered signature", + "ECDSA P-384 with SHA-256 verification failure due to altered signature", + "ECDSA P-384 with SHA-512 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature", + "ECDSA P-256 with SHA-256 verification failure due to wrong hash", + "ECDSA P-256 with SHA-384 verification failure due to wrong hash", + "ECDSA P-256 with SHA-512 verification failure due to wrong hash", + "ECDSA P-384 with SHA-1 verification failure due to wrong hash", + "ECDSA P-384 with SHA-256 verification failure due to wrong hash", + "ECDSA P-384 with SHA-384 verification failure due to wrong hash", + "ECDSA P-384 with SHA-512 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name", + "ECDSA P-256 with SHA-1 verification failure due to shortened signature", + "ECDSA P-256 with SHA-384 verification failure due to shortened signature", + "ECDSA P-256 with SHA-512 verification failure due to shortened signature", + "ECDSA P-384 with SHA-1 verification failure due to shortened signature", + "ECDSA P-384 with SHA-256 verification failure due to shortened signature", + "ECDSA P-384 with SHA-512 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature", + "ECDSA P-256 with SHA-1 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-384 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-512 verification failure due to altered plaintext", + "ECDSA P-384 with SHA-1 verification failure due to altered plaintext", + "ECDSA P-384 with SHA-256 verification failure due to altered plaintext", + "ECDSA P-384 with SHA-512 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext", + "importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext", + "ECDSA P-256 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-1 - Signature has excess padding verification", + "ECDSA P-256 with SHA-1 - The signature is empty verification", + "ECDSA P-256 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-256 with SHA-384 - Signature has excess padding verification", + "ECDSA P-256 with SHA-384 - The signature is empty verification", + "ECDSA P-256 with SHA-384 - The signature is all zeroes verification", + "ECDSA P-256 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-256 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "ECDSA P-256 with SHA-512 - Signature has excess padding verification", + "ECDSA P-256 with SHA-512 - The signature is empty verification", + "ECDSA P-256 with SHA-512 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-1 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-1 - Signature has excess padding verification", + "ECDSA P-384 with SHA-1 - The signature is empty verification", + "ECDSA P-384 with SHA-1 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-256 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-256 - Signature has excess padding verification", + "ECDSA P-384 with SHA-256 - The signature is empty verification", + "ECDSA P-384 with SHA-256 - The signature is all zeroes verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "ECDSA P-384 with SHA-512 - The signature was truncated by 1 byte verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "ECDSA P-384 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "ECDSA P-384 with SHA-512 - Signature has excess padding verification", + "ECDSA P-384 with SHA-512 - The signature is empty verification", + "ECDSA P-384 with SHA-512 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature was made using SHA-1, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature was made using SHA-256, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-256 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature was made using SHA-384, however verification is being done using SHA-512 verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-384 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was truncated by 1 byte verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-1 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-256 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature was made using SHA-512, however verification is being done using SHA-384 verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - Signature has excess padding verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is empty verification", + "importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification", + "importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name", + "importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name" + ], + "hmac.https.any.html": true, + "hmac.https.any.worker.html": true, + "rsa_pkcs.https.any.html": true, + "rsa_pkcs.https.any.worker.html": true, + "rsa_pss.https.any.html": true, + "rsa_pss.https.any.worker.html": true, + "eddsa.https.any.html": [ + "Sign and verify using generated Ed448 keys.", + "importVectorKeys step: EdDSA Ed448 verification", + "importVectorKeys step: EdDSA Ed448 verification with altered signature after call", + "importVectorKeys step: EdDSA Ed448 with altered data after call", + "importVectorKeys step: EdDSA Ed448 using privateKey to verify", + "importVectorKeys step: EdDSA Ed448 using publicKey to sign", + "importVectorKeys step: EdDSA Ed448 no verify usage", + "importVectorKeys step: EdDSA Ed448 round trip", + "importVectorKeys step: EdDSA Ed448 verification failure due to altered signature", + "importVectorKeys step: EdDSA Ed448 verification failure due to shortened signature", + "importVectorKeys step: EdDSA Ed448 verification failure due to altered data", + "importVectorKeys step: EdDSA Ed448 signing with wrong algorithm name", + "importVectorKeys step: EdDSA Ed448 verifying with wrong algorithm name" + ], + "eddsa.https.any.worker.html": [ + "Sign and verify using generated Ed448 keys.", + "importVectorKeys step: EdDSA Ed448 verification", + "importVectorKeys step: EdDSA Ed448 verification with altered signature after call", + "importVectorKeys step: EdDSA Ed448 with altered data after call", + "importVectorKeys step: EdDSA Ed448 using privateKey to verify", + "importVectorKeys step: EdDSA Ed448 using publicKey to sign", + "importVectorKeys step: EdDSA Ed448 no verify usage", + "importVectorKeys step: EdDSA Ed448 round trip", + "importVectorKeys step: EdDSA Ed448 verification failure due to altered signature", + "importVectorKeys step: EdDSA Ed448 verification failure due to shortened signature", + "importVectorKeys step: EdDSA Ed448 verification failure due to altered data", + "importVectorKeys step: EdDSA Ed448 signing with wrong algorithm name", + "importVectorKeys step: EdDSA Ed448 verifying with wrong algorithm name" + ] + }, + "algorithm-discards-context.https.window.html": false + }, + "console": { + "console-is-a-namespace.any.html": true, + "console-is-a-namespace.any.worker.html": true, + "console-label-conversion.any.html": true, + "console-label-conversion.any.worker.html": true, + "console-namespace-object-class-string.any.html": true, + "console-namespace-object-class-string.any.worker.html": true, + "console-tests-historical.any.html": true, + "console-tests-historical.any.worker.html": true, + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "idlharness-shadowrealm.window.html": false + }, + "dom": { + "abort": { + "AbortSignal.any.html": true, + "AbortSignal.any.worker.html": true, + "event.any.html": true, + "event.any.worker.html": true, + "abort-signal-any.any.html": true, + "abort-signal-any.any.worker.html": true + }, + "events": { + "AddEventListenerOptions-once.any.html": true, + "AddEventListenerOptions-once.any.worker.html": true, + "AddEventListenerOptions-passive.any.html": [ + "returnValue should be ignored if-and-only-if the passive option is true" + ], + "AddEventListenerOptions-passive.any.worker.html": [ + "returnValue should be ignored if-and-only-if the passive option is true" + ], + "AddEventListenerOptions-signal.any.html": true, + "AddEventListenerOptions-signal.any.worker.html": true, + "Event-isTrusted.any.html": false, + "Event-isTrusted.any.worker.html": false, + "EventTarget-add-remove-listener.any.html": true, + "EventTarget-add-remove-listener.any.worker.html": true, + "EventTarget-addEventListener.any.html": true, + "EventTarget-addEventListener.any.worker.html": true, + "EventTarget-removeEventListener.any.html": true, + "EventTarget-removeEventListener.any.worker.html": true, + "EventTarget-constructible.any.html": true, + "EventTarget-constructible.any.worker.html": true, + "Event-constructors.any.html": [ + "Event constructors 3", + "Event constructors 4" + ], + "Event-constructors.any.worker.html": [ + "Event constructors 3", + "Event constructors 4" + ], + "event-global.worker.html": true, + "Event-dispatch-listener-order.window.html": false, + "EventListener-addEventListener.sub.window.html": false, + "event-global-extra.window.html": false, + "event-global-set-before-handleEvent-lookup.window.html": false, + "legacy-pre-activation-behavior.window.html": false, + "relatedTarget.window.html": false + }, + "idlharness-shadowrealm.window.html": false, + "idlharness.window.html?exclude=Node": [ + "Event interface: attribute srcElement", + "Event interface: operation composedPath()", + "Event interface: constant NONE on interface object", + "Event interface: constant NONE on interface prototype object", + "Event interface: constant CAPTURING_PHASE on interface object", + "Event interface: constant CAPTURING_PHASE on interface prototype object", + "Event interface: constant AT_TARGET on interface object", + "Event interface: constant AT_TARGET on interface prototype object", + "Event interface: constant BUBBLING_PHASE on interface object", + "Event interface: constant BUBBLING_PHASE on interface prototype object", + "Event interface: operation stopPropagation()", + "Event interface: attribute cancelBubble", + "Event interface: operation stopImmediatePropagation()", + "Event interface: attribute returnValue", + "Event interface: operation preventDefault()", + "Event interface: attribute defaultPrevented", + "Event interface: operation initEvent(DOMString, optional boolean, optional boolean)", + "CustomEvent interface: operation initCustomEvent(DOMString, optional boolean, optional boolean, optional any)", + "EventTarget interface: operation addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))", + "EventTarget interface: operation removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))", + "AbortController interface: operation abort(optional any)", + "AbortSignal interface: attribute onabort", + "NodeList interface: existence and properties of interface object", + "NodeList interface object length", + "NodeList interface object name", + "NodeList interface: existence and properties of interface prototype object", + "NodeList interface: existence and properties of interface prototype object's \"constructor\" property", + "NodeList interface: existence and properties of interface prototype object's @@unscopables property", + "NodeList interface: operation item(unsigned long)", + "NodeList interface: attribute length", + "NodeList interface: iterable", + "HTMLCollection interface: existence and properties of interface object", + "HTMLCollection interface object length", + "HTMLCollection interface object name", + "HTMLCollection interface: existence and properties of interface prototype object", + "HTMLCollection interface: existence and properties of interface prototype object's \"constructor\" property", + "HTMLCollection interface: existence and properties of interface prototype object's @@unscopables property", + "HTMLCollection interface: attribute length", + "HTMLCollection interface: operation item(unsigned long)", + "HTMLCollection interface: operation namedItem(DOMString)", + "MutationObserver interface: existence and properties of interface object", + "MutationObserver interface object length", + "MutationObserver interface object name", + "MutationObserver interface: existence and properties of interface prototype object", + "MutationObserver interface: existence and properties of interface prototype object's \"constructor\" property", + "MutationObserver interface: existence and properties of interface prototype object's @@unscopables property", + "MutationObserver interface: operation observe(Node, optional MutationObserverInit)", + "MutationObserver interface: operation disconnect()", + "MutationObserver interface: operation takeRecords()", + "MutationRecord interface: existence and properties of interface object", + "MutationRecord interface object length", + "MutationRecord interface object name", + "MutationRecord interface: existence and properties of interface prototype object", + "MutationRecord interface: existence and properties of interface prototype object's \"constructor\" property", + "MutationRecord interface: existence and properties of interface prototype object's @@unscopables property", + "MutationRecord interface: attribute type", + "MutationRecord interface: attribute target", + "MutationRecord interface: attribute addedNodes", + "MutationRecord interface: attribute removedNodes", + "MutationRecord interface: attribute previousSibling", + "MutationRecord interface: attribute nextSibling", + "MutationRecord interface: attribute attributeName", + "MutationRecord interface: attribute attributeNamespace", + "MutationRecord interface: attribute oldValue", + "Document interface: existence and properties of interface object", + "Document interface object length", + "Document interface object name", + "Document interface: existence and properties of interface prototype object", + "Document interface: existence and properties of interface prototype object's \"constructor\" property", + "Document interface: existence and properties of interface prototype object's @@unscopables property", + "Document interface: attribute implementation", + "Document interface: attribute URL", + "Document interface: attribute documentURI", + "Document interface: attribute compatMode", + "Document interface: attribute characterSet", + "Document interface: attribute charset", + "Document interface: attribute inputEncoding", + "Document interface: attribute contentType", + "Document interface: attribute doctype", + "Document interface: attribute documentElement", + "Document interface: operation getElementsByTagName(DOMString)", + "Document interface: operation getElementsByTagNameNS(DOMString?, DOMString)", + "Document interface: operation getElementsByClassName(DOMString)", + "Document interface: operation createElement(DOMString, optional (DOMString or ElementCreationOptions))", + "Document interface: operation createElementNS(DOMString?, DOMString, optional (DOMString or ElementCreationOptions))", + "Document interface: operation createDocumentFragment()", + "Document interface: operation createTextNode(DOMString)", + "Document interface: operation createCDATASection(DOMString)", + "Document interface: operation createComment(DOMString)", + "Document interface: operation createProcessingInstruction(DOMString, DOMString)", + "Document interface: operation importNode(Node, optional boolean)", + "Document interface: operation adoptNode(Node)", + "Document interface: operation createAttribute(DOMString)", + "Document interface: operation createAttributeNS(DOMString?, DOMString)", + "Document interface: operation createEvent(DOMString)", + "Document interface: operation createRange()", + "Document interface: operation createNodeIterator(Node, optional unsigned long, optional NodeFilter?)", + "Document interface: operation createTreeWalker(Node, optional unsigned long, optional NodeFilter?)", + "Document interface: attribute fullscreenEnabled", + "Document interface: attribute fullscreen", + "Document interface: operation exitFullscreen()", + "Document interface: attribute onfullscreenchange", + "Document interface: attribute onfullscreenerror", + "Document interface: operation getElementById(DOMString)", + "Document interface: attribute fullscreenElement", + "Document interface: attribute children", + "Document interface: attribute firstElementChild", + "Document interface: attribute lastElementChild", + "Document interface: attribute childElementCount", + "Document interface: operation prepend((Node or DOMString)...)", + "Document interface: operation append((Node or DOMString)...)", + "Document interface: operation replaceChildren((Node or DOMString)...)", + "Document interface: operation querySelector(DOMString)", + "Document interface: operation querySelectorAll(DOMString)", + "Document interface: operation createExpression(DOMString, optional XPathNSResolver?)", + "Document interface: operation createNSResolver(Node)", + "Document interface: operation evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?)", + "XMLDocument interface: existence and properties of interface object", + "XMLDocument interface object length", + "XMLDocument interface object name", + "XMLDocument interface: existence and properties of interface prototype object", + "XMLDocument interface: existence and properties of interface prototype object's \"constructor\" property", + "XMLDocument interface: existence and properties of interface prototype object's @@unscopables property", + "DOMImplementation interface: existence and properties of interface object", + "DOMImplementation interface object length", + "DOMImplementation interface object name", + "DOMImplementation interface: existence and properties of interface prototype object", + "DOMImplementation interface: existence and properties of interface prototype object's \"constructor\" property", + "DOMImplementation interface: existence and properties of interface prototype object's @@unscopables property", + "DOMImplementation interface: operation createDocumentType(DOMString, DOMString, DOMString)", + "DOMImplementation interface: operation createDocument(DOMString?, DOMString, optional DocumentType?)", + "DOMImplementation interface: operation createHTMLDocument(optional DOMString)", + "DOMImplementation interface: operation hasFeature()", + "DocumentType interface: existence and properties of interface object", + "DocumentType interface object length", + "DocumentType interface object name", + "DocumentType interface: existence and properties of interface prototype object", + "DocumentType interface: existence and properties of interface prototype object's \"constructor\" property", + "DocumentType interface: existence and properties of interface prototype object's @@unscopables property", + "DocumentType interface: attribute name", + "DocumentType interface: attribute publicId", + "DocumentType interface: attribute systemId", + "DocumentType interface: operation before((Node or DOMString)...)", + "DocumentType interface: operation after((Node or DOMString)...)", + "DocumentType interface: operation replaceWith((Node or DOMString)...)", + "DocumentType interface: operation remove()", + "DocumentFragment interface: existence and properties of interface object", + "DocumentFragment interface object length", + "DocumentFragment interface object name", + "DocumentFragment interface: existence and properties of interface prototype object", + "DocumentFragment interface: existence and properties of interface prototype object's \"constructor\" property", + "DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property", + "DocumentFragment interface: operation getElementById(DOMString)", + "DocumentFragment interface: attribute children", + "DocumentFragment interface: attribute firstElementChild", + "DocumentFragment interface: attribute lastElementChild", + "DocumentFragment interface: attribute childElementCount", + "DocumentFragment interface: operation prepend((Node or DOMString)...)", + "DocumentFragment interface: operation append((Node or DOMString)...)", + "DocumentFragment interface: operation replaceChildren((Node or DOMString)...)", + "DocumentFragment interface: operation querySelector(DOMString)", + "DocumentFragment interface: operation querySelectorAll(DOMString)", + "ShadowRoot interface: existence and properties of interface object", + "ShadowRoot interface object length", + "ShadowRoot interface object name", + "ShadowRoot interface: existence and properties of interface prototype object", + "ShadowRoot interface: existence and properties of interface prototype object's \"constructor\" property", + "ShadowRoot interface: existence and properties of interface prototype object's @@unscopables property", + "ShadowRoot interface: attribute mode", + "ShadowRoot interface: attribute delegatesFocus", + "ShadowRoot interface: attribute slotAssignment", + "ShadowRoot interface: attribute host", + "ShadowRoot interface: attribute onslotchange", + "ShadowRoot interface: attribute fullscreenElement", + "Element interface: existence and properties of interface object", + "Element interface object length", + "Element interface object name", + "Element interface: existence and properties of interface prototype object", + "Element interface: existence and properties of interface prototype object's \"constructor\" property", + "Element interface: existence and properties of interface prototype object's @@unscopables property", + "Element interface: attribute namespaceURI", + "Element interface: attribute prefix", + "Element interface: attribute localName", + "Element interface: attribute tagName", + "Element interface: attribute id", + "Element interface: attribute className", + "Element interface: attribute classList", + "Element interface: attribute slot", + "Element interface: operation hasAttributes()", + "Element interface: attribute attributes", + "Element interface: operation getAttributeNames()", + "Element interface: operation getAttribute(DOMString)", + "Element interface: operation getAttributeNS(DOMString?, DOMString)", + "Element interface: operation setAttribute(DOMString, DOMString)", + "Element interface: operation setAttributeNS(DOMString?, DOMString, DOMString)", + "Element interface: operation removeAttribute(DOMString)", + "Element interface: operation removeAttributeNS(DOMString?, DOMString)", + "Element interface: operation toggleAttribute(DOMString, optional boolean)", + "Element interface: operation hasAttribute(DOMString)", + "Element interface: operation hasAttributeNS(DOMString?, DOMString)", + "Element interface: operation getAttributeNode(DOMString)", + "Element interface: operation getAttributeNodeNS(DOMString?, DOMString)", + "Element interface: operation setAttributeNode(Attr)", + "Element interface: operation setAttributeNodeNS(Attr)", + "Element interface: operation removeAttributeNode(Attr)", + "Element interface: operation attachShadow(ShadowRootInit)", + "Element interface: attribute shadowRoot", + "Element interface: operation closest(DOMString)", + "Element interface: operation matches(DOMString)", + "Element interface: operation webkitMatchesSelector(DOMString)", + "Element interface: operation getElementsByTagName(DOMString)", + "Element interface: operation getElementsByTagNameNS(DOMString?, DOMString)", + "Element interface: operation getElementsByClassName(DOMString)", + "Element interface: operation insertAdjacentElement(DOMString, Element)", + "Element interface: operation insertAdjacentText(DOMString, DOMString)", + "Element interface: operation requestFullscreen(optional FullscreenOptions)", + "Element interface: attribute onfullscreenchange", + "Element interface: attribute onfullscreenerror", + "Element interface: attribute children", + "Element interface: attribute firstElementChild", + "Element interface: attribute lastElementChild", + "Element interface: attribute childElementCount", + "Element interface: operation prepend((Node or DOMString)...)", + "Element interface: operation append((Node or DOMString)...)", + "Element interface: operation replaceChildren((Node or DOMString)...)", + "Element interface: operation querySelector(DOMString)", + "Element interface: operation querySelectorAll(DOMString)", + "Element interface: attribute previousElementSibling", + "Element interface: attribute nextElementSibling", + "Element interface: operation before((Node or DOMString)...)", + "Element interface: operation after((Node or DOMString)...)", + "Element interface: operation replaceWith((Node or DOMString)...)", + "Element interface: operation remove()", + "Element interface: attribute assignedSlot", + "NamedNodeMap interface: existence and properties of interface object", + "NamedNodeMap interface object length", + "NamedNodeMap interface object name", + "NamedNodeMap interface: existence and properties of interface prototype object", + "NamedNodeMap interface: existence and properties of interface prototype object's \"constructor\" property", + "NamedNodeMap interface: existence and properties of interface prototype object's @@unscopables property", + "NamedNodeMap interface: attribute length", + "NamedNodeMap interface: operation item(unsigned long)", + "NamedNodeMap interface: operation getNamedItem(DOMString)", + "NamedNodeMap interface: operation getNamedItemNS(DOMString?, DOMString)", + "NamedNodeMap interface: operation setNamedItem(Attr)", + "NamedNodeMap interface: operation setNamedItemNS(Attr)", + "NamedNodeMap interface: operation removeNamedItem(DOMString)", + "NamedNodeMap interface: operation removeNamedItemNS(DOMString?, DOMString)", + "Attr interface: existence and properties of interface object", + "Attr interface object length", + "Attr interface object name", + "Attr interface: existence and properties of interface prototype object", + "Attr interface: existence and properties of interface prototype object's \"constructor\" property", + "Attr interface: existence and properties of interface prototype object's @@unscopables property", + "Attr interface: attribute namespaceURI", + "Attr interface: attribute prefix", + "Attr interface: attribute localName", + "Attr interface: attribute name", + "Attr interface: attribute value", + "Attr interface: attribute ownerElement", + "Attr interface: attribute specified", + "CharacterData interface: existence and properties of interface object", + "CharacterData interface object length", + "CharacterData interface object name", + "CharacterData interface: existence and properties of interface prototype object", + "CharacterData interface: existence and properties of interface prototype object's \"constructor\" property", + "CharacterData interface: existence and properties of interface prototype object's @@unscopables property", + "CharacterData interface: attribute data", + "CharacterData interface: attribute length", + "CharacterData interface: operation substringData(unsigned long, unsigned long)", + "CharacterData interface: operation appendData(DOMString)", + "CharacterData interface: operation insertData(unsigned long, DOMString)", + "CharacterData interface: operation deleteData(unsigned long, unsigned long)", + "CharacterData interface: operation replaceData(unsigned long, unsigned long, DOMString)", + "CharacterData interface: attribute previousElementSibling", + "CharacterData interface: attribute nextElementSibling", + "CharacterData interface: operation before((Node or DOMString)...)", + "CharacterData interface: operation after((Node or DOMString)...)", + "CharacterData interface: operation replaceWith((Node or DOMString)...)", + "CharacterData interface: operation remove()", + "Text interface: existence and properties of interface object", + "Text interface object length", + "Text interface object name", + "Text interface: existence and properties of interface prototype object", + "Text interface: existence and properties of interface prototype object's \"constructor\" property", + "Text interface: existence and properties of interface prototype object's @@unscopables property", + "Text interface: operation splitText(unsigned long)", + "Text interface: attribute wholeText", + "Text interface: attribute assignedSlot", + "CDATASection interface: existence and properties of interface object", + "CDATASection interface object length", + "CDATASection interface object name", + "CDATASection interface: existence and properties of interface prototype object", + "CDATASection interface: existence and properties of interface prototype object's \"constructor\" property", + "CDATASection interface: existence and properties of interface prototype object's @@unscopables property", + "ProcessingInstruction interface: existence and properties of interface object", + "ProcessingInstruction interface object length", + "ProcessingInstruction interface object name", + "ProcessingInstruction interface: existence and properties of interface prototype object", + "ProcessingInstruction interface: existence and properties of interface prototype object's \"constructor\" property", + "ProcessingInstruction interface: existence and properties of interface prototype object's @@unscopables property", + "ProcessingInstruction interface: attribute target", + "Comment interface: existence and properties of interface object", + "Comment interface object length", + "Comment interface object name", + "Comment interface: existence and properties of interface prototype object", + "Comment interface: existence and properties of interface prototype object's \"constructor\" property", + "Comment interface: existence and properties of interface prototype object's @@unscopables property", + "AbstractRange interface: existence and properties of interface object", + "AbstractRange interface object length", + "AbstractRange interface object name", + "AbstractRange interface: existence and properties of interface prototype object", + "AbstractRange interface: existence and properties of interface prototype object's \"constructor\" property", + "AbstractRange interface: existence and properties of interface prototype object's @@unscopables property", + "AbstractRange interface: attribute startContainer", + "AbstractRange interface: attribute startOffset", + "AbstractRange interface: attribute endContainer", + "AbstractRange interface: attribute endOffset", + "AbstractRange interface: attribute collapsed", + "StaticRange interface: existence and properties of interface object", + "StaticRange interface object length", + "StaticRange interface object name", + "StaticRange interface: existence and properties of interface prototype object", + "StaticRange interface: existence and properties of interface prototype object's \"constructor\" property", + "StaticRange interface: existence and properties of interface prototype object's @@unscopables property", + "Range interface: existence and properties of interface object", + "Range interface object length", + "Range interface object name", + "Range interface: existence and properties of interface prototype object", + "Range interface: existence and properties of interface prototype object's \"constructor\" property", + "Range interface: existence and properties of interface prototype object's @@unscopables property", + "Range interface: attribute commonAncestorContainer", + "Range interface: operation setStart(Node, unsigned long)", + "Range interface: operation setEnd(Node, unsigned long)", + "Range interface: operation setStartBefore(Node)", + "Range interface: operation setStartAfter(Node)", + "Range interface: operation setEndBefore(Node)", + "Range interface: operation setEndAfter(Node)", + "Range interface: operation collapse(optional boolean)", + "Range interface: operation selectNode(Node)", + "Range interface: operation selectNodeContents(Node)", + "Range interface: constant START_TO_START on interface object", + "Range interface: constant START_TO_START on interface prototype object", + "Range interface: constant START_TO_END on interface object", + "Range interface: constant START_TO_END on interface prototype object", + "Range interface: constant END_TO_END on interface object", + "Range interface: constant END_TO_END on interface prototype object", + "Range interface: constant END_TO_START on interface object", + "Range interface: constant END_TO_START on interface prototype object", + "Range interface: operation compareBoundaryPoints(unsigned short, Range)", + "Range interface: operation deleteContents()", + "Range interface: operation extractContents()", + "Range interface: operation cloneContents()", + "Range interface: operation insertNode(Node)", + "Range interface: operation surroundContents(Node)", + "Range interface: operation cloneRange()", + "Range interface: operation detach()", + "Range interface: operation isPointInRange(Node, unsigned long)", + "Range interface: operation comparePoint(Node, unsigned long)", + "Range interface: operation intersectsNode(Node)", + "Range interface: stringifier", + "NodeIterator interface: existence and properties of interface object", + "NodeIterator interface object length", + "NodeIterator interface object name", + "NodeIterator interface: existence and properties of interface prototype object", + "NodeIterator interface: existence and properties of interface prototype object's \"constructor\" property", + "NodeIterator interface: existence and properties of interface prototype object's @@unscopables property", + "NodeIterator interface: attribute root", + "NodeIterator interface: attribute referenceNode", + "NodeIterator interface: attribute pointerBeforeReferenceNode", + "NodeIterator interface: attribute whatToShow", + "NodeIterator interface: attribute filter", + "NodeIterator interface: operation nextNode()", + "NodeIterator interface: operation previousNode()", + "NodeIterator interface: operation detach()", + "TreeWalker interface: existence and properties of interface object", + "TreeWalker interface object length", + "TreeWalker interface object name", + "TreeWalker interface: existence and properties of interface prototype object", + "TreeWalker interface: existence and properties of interface prototype object's \"constructor\" property", + "TreeWalker interface: existence and properties of interface prototype object's @@unscopables property", + "TreeWalker interface: attribute root", + "TreeWalker interface: attribute whatToShow", + "TreeWalker interface: attribute filter", + "TreeWalker interface: attribute currentNode", + "TreeWalker interface: operation parentNode()", + "TreeWalker interface: operation firstChild()", + "TreeWalker interface: operation lastChild()", + "TreeWalker interface: operation previousSibling()", + "TreeWalker interface: operation nextSibling()", + "TreeWalker interface: operation previousNode()", + "TreeWalker interface: operation nextNode()", + "NodeFilter interface: existence and properties of interface object", + "NodeFilter interface object name", + "NodeFilter interface: existence and properties of interface prototype object", + "NodeFilter interface: existence and properties of interface prototype object's \"constructor\" property", + "NodeFilter interface: existence and properties of interface prototype object's @@unscopables property", + "NodeFilter interface: constant FILTER_ACCEPT on interface object", + "NodeFilter interface: constant FILTER_ACCEPT on interface prototype object", + "NodeFilter interface: constant FILTER_REJECT on interface object", + "NodeFilter interface: constant FILTER_REJECT on interface prototype object", + "NodeFilter interface: constant FILTER_SKIP on interface object", + "NodeFilter interface: constant FILTER_SKIP on interface prototype object", + "NodeFilter interface: constant SHOW_ALL on interface object", + "NodeFilter interface: constant SHOW_ALL on interface prototype object", + "NodeFilter interface: constant SHOW_ELEMENT on interface object", + "NodeFilter interface: constant SHOW_ELEMENT on interface prototype object", + "NodeFilter interface: constant SHOW_ATTRIBUTE on interface object", + "NodeFilter interface: constant SHOW_ATTRIBUTE on interface prototype object", + "NodeFilter interface: constant SHOW_TEXT on interface object", + "NodeFilter interface: constant SHOW_TEXT on interface prototype object", + "NodeFilter interface: constant SHOW_CDATA_SECTION on interface object", + "NodeFilter interface: constant SHOW_CDATA_SECTION on interface prototype object", + "NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface object", + "NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface prototype object", + "NodeFilter interface: constant SHOW_ENTITY on interface object", + "NodeFilter interface: constant SHOW_ENTITY on interface prototype object", + "NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface object", + "NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface prototype object", + "NodeFilter interface: constant SHOW_COMMENT on interface object", + "NodeFilter interface: constant SHOW_COMMENT on interface prototype object", + "NodeFilter interface: constant SHOW_DOCUMENT on interface object", + "NodeFilter interface: constant SHOW_DOCUMENT on interface prototype object", + "NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface object", + "NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface prototype object", + "NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface object", + "NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface prototype object", + "NodeFilter interface: constant SHOW_NOTATION on interface object", + "NodeFilter interface: constant SHOW_NOTATION on interface prototype object", + "NodeFilter interface: operation acceptNode(Node)", + "DOMTokenList interface: existence and properties of interface object", + "DOMTokenList interface object length", + "DOMTokenList interface object name", + "DOMTokenList interface: existence and properties of interface prototype object", + "DOMTokenList interface: existence and properties of interface prototype object's \"constructor\" property", + "DOMTokenList interface: existence and properties of interface prototype object's @@unscopables property", + "DOMTokenList interface: attribute length", + "DOMTokenList interface: operation item(unsigned long)", + "DOMTokenList interface: operation contains(DOMString)", + "DOMTokenList interface: operation add(DOMString...)", + "DOMTokenList interface: operation remove(DOMString...)", + "DOMTokenList interface: operation toggle(DOMString, optional boolean)", + "DOMTokenList interface: operation replace(DOMString, DOMString)", + "DOMTokenList interface: operation supports(DOMString)", + "DOMTokenList interface: attribute value", + "DOMTokenList interface: stringifier", + "DOMTokenList interface: iterable", + "XPathResult interface: existence and properties of interface object", + "XPathResult interface object length", + "XPathResult interface object name", + "XPathResult interface: existence and properties of interface prototype object", + "XPathResult interface: existence and properties of interface prototype object's \"constructor\" property", + "XPathResult interface: existence and properties of interface prototype object's @@unscopables property", + "XPathResult interface: constant ANY_TYPE on interface object", + "XPathResult interface: constant ANY_TYPE on interface prototype object", + "XPathResult interface: constant NUMBER_TYPE on interface object", + "XPathResult interface: constant NUMBER_TYPE on interface prototype object", + "XPathResult interface: constant STRING_TYPE on interface object", + "XPathResult interface: constant STRING_TYPE on interface prototype object", + "XPathResult interface: constant BOOLEAN_TYPE on interface object", + "XPathResult interface: constant BOOLEAN_TYPE on interface prototype object", + "XPathResult interface: constant UNORDERED_NODE_ITERATOR_TYPE on interface object", + "XPathResult interface: constant UNORDERED_NODE_ITERATOR_TYPE on interface prototype object", + "XPathResult interface: constant ORDERED_NODE_ITERATOR_TYPE on interface object", + "XPathResult interface: constant ORDERED_NODE_ITERATOR_TYPE on interface prototype object", + "XPathResult interface: constant UNORDERED_NODE_SNAPSHOT_TYPE on interface object", + "XPathResult interface: constant UNORDERED_NODE_SNAPSHOT_TYPE on interface prototype object", + "XPathResult interface: constant ORDERED_NODE_SNAPSHOT_TYPE on interface object", + "XPathResult interface: constant ORDERED_NODE_SNAPSHOT_TYPE on interface prototype object", + "XPathResult interface: constant ANY_UNORDERED_NODE_TYPE on interface object", + "XPathResult interface: constant ANY_UNORDERED_NODE_TYPE on interface prototype object", + "XPathResult interface: constant FIRST_ORDERED_NODE_TYPE on interface object", + "XPathResult interface: constant FIRST_ORDERED_NODE_TYPE on interface prototype object", + "XPathResult interface: attribute resultType", + "XPathResult interface: attribute numberValue", + "XPathResult interface: attribute stringValue", + "XPathResult interface: attribute booleanValue", + "XPathResult interface: attribute singleNodeValue", + "XPathResult interface: attribute invalidIteratorState", + "XPathResult interface: attribute snapshotLength", + "XPathResult interface: operation iterateNext()", + "XPathResult interface: operation snapshotItem(unsigned long)", + "XPathExpression interface: existence and properties of interface object", + "XPathExpression interface object length", + "XPathExpression interface object name", + "XPathExpression interface: existence and properties of interface prototype object", + "XPathExpression interface: existence and properties of interface prototype object's \"constructor\" property", + "XPathExpression interface: existence and properties of interface prototype object's @@unscopables property", + "XPathExpression interface: operation evaluate(Node, optional unsigned short, optional XPathResult?)", + "XPathEvaluator interface: existence and properties of interface object", + "XPathEvaluator interface object length", + "XPathEvaluator interface object name", + "XPathEvaluator interface: existence and properties of interface prototype object", + "XPathEvaluator interface: existence and properties of interface prototype object's \"constructor\" property", + "XPathEvaluator interface: existence and properties of interface prototype object's @@unscopables property", + "XPathEvaluator interface: operation createExpression(DOMString, optional XPathNSResolver?)", + "XPathEvaluator interface: operation createNSResolver(Node)", + "XPathEvaluator interface: operation evaluate(DOMString, Node, optional XPathNSResolver?, optional unsigned short, optional XPathResult?)", + "XSLTProcessor interface: existence and properties of interface object", + "XSLTProcessor interface object length", + "XSLTProcessor interface object name", + "XSLTProcessor interface: existence and properties of interface prototype object", + "XSLTProcessor interface: existence and properties of interface prototype object's \"constructor\" property", + "XSLTProcessor interface: existence and properties of interface prototype object's @@unscopables property", + "XSLTProcessor interface: operation importStylesheet(Node)", + "XSLTProcessor interface: operation transformToFragment(Node, Document)", + "XSLTProcessor interface: operation transformToDocument(Node)", + "XSLTProcessor interface: operation setParameter(DOMString, DOMString, any)", + "XSLTProcessor interface: operation getParameter(DOMString, DOMString)", + "XSLTProcessor interface: operation removeParameter(DOMString, DOMString)", + "XSLTProcessor interface: operation clearParameters()", + "XSLTProcessor interface: operation reset()", + "Window interface: attribute event", + "idl_test setup", + "ShadowRoot interface: attribute clonable" + ], + "idlharness.window.html?include=Node": [ + "Node interface: existence and properties of interface object", + "Node interface object length", + "Node interface object name", + "Node interface: existence and properties of interface prototype object", + "Node interface: existence and properties of interface prototype object's \"constructor\" property", + "Node interface: existence and properties of interface prototype object's @@unscopables property", + "Node interface: constant ELEMENT_NODE on interface object", + "Node interface: constant ELEMENT_NODE on interface prototype object", + "Node interface: constant ATTRIBUTE_NODE on interface object", + "Node interface: constant ATTRIBUTE_NODE on interface prototype object", + "Node interface: constant TEXT_NODE on interface object", + "Node interface: constant TEXT_NODE on interface prototype object", + "Node interface: constant CDATA_SECTION_NODE on interface object", + "Node interface: constant CDATA_SECTION_NODE on interface prototype object", + "Node interface: constant ENTITY_REFERENCE_NODE on interface object", + "Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object", + "Node interface: constant ENTITY_NODE on interface object", + "Node interface: constant ENTITY_NODE on interface prototype object", + "Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object", + "Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object", + "Node interface: constant COMMENT_NODE on interface object", + "Node interface: constant COMMENT_NODE on interface prototype object", + "Node interface: constant DOCUMENT_NODE on interface object", + "Node interface: constant DOCUMENT_NODE on interface prototype object", + "Node interface: constant DOCUMENT_TYPE_NODE on interface object", + "Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object", + "Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object", + "Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object", + "Node interface: constant NOTATION_NODE on interface object", + "Node interface: constant NOTATION_NODE on interface prototype object", + "Node interface: attribute nodeType", + "Node interface: attribute nodeName", + "Node interface: attribute baseURI", + "Node interface: attribute isConnected", + "Node interface: attribute ownerDocument", + "Node interface: operation getRootNode(optional GetRootNodeOptions)", + "Node interface: attribute parentNode", + "Node interface: attribute parentElement", + "Node interface: operation hasChildNodes()", + "Node interface: attribute childNodes", + "Node interface: attribute firstChild", + "Node interface: attribute lastChild", + "Node interface: attribute previousSibling", + "Node interface: attribute nextSibling", + "Node interface: attribute nodeValue", + "Node interface: attribute textContent", + "Node interface: operation normalize()", + "Node interface: operation cloneNode(optional boolean)", + "Node interface: operation isEqualNode(Node?)", + "Node interface: operation isSameNode(Node?)", + "Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object", + "Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object", + "Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object", + "Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object", + "Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object", + "Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object", + "Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object", + "Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object", + "Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object", + "Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object", + "Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object", + "Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object", + "Node interface: operation compareDocumentPosition(Node)", + "Node interface: operation contains(Node?)", + "Node interface: operation lookupPrefix(DOMString?)", + "Node interface: operation lookupNamespaceURI(DOMString?)", + "Node interface: operation isDefaultNamespace(DOMString?)", + "Node interface: operation insertBefore(Node, Node?)", + "Node interface: operation appendChild(Node)", + "Node interface: operation replaceChild(Node, Node)", + "Node interface: operation removeChild(Node)", + "idl_test setup" + ] + }, + "encoding": { + "api-basics.any.html": true, + "api-basics.any.worker.html": true, + "api-invalid-label.any.html?1-1000": true, + "api-invalid-label.any.html?1001-2000": true, + "api-invalid-label.any.html?2001-3000": true, + "api-invalid-label.any.html?3001-last": true, + "api-invalid-label.any.worker.html?1-1000": true, + "api-invalid-label.any.worker.html?1001-2000": true, + "api-invalid-label.any.worker.html?2001-3000": true, + "api-invalid-label.any.worker.html?3001-last": true, + "api-replacement-encodings.any.html": true, + "api-replacement-encodings.any.worker.html": true, + "api-surrogates-utf8.any.html": true, + "api-surrogates-utf8.any.worker.html": true, + "encodeInto.any.html": true, + "encodeInto.any.worker.html": true, + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "iso-2022-jp-decoder.any.html": true, + "iso-2022-jp-decoder.any.worker.html": true, + "legacy-mb-schinese": { + "gb18030": { + "gb18030-decoder.any.html": [ + "gb18030 decoder: GB18030-2022 1", + "gb18030 decoder: GB18030-2022 2", + "gb18030 decoder: GB18030-2022 3", + "gb18030 decoder: GB18030-2022 4", + "gb18030 decoder: GB18030-2022 5", + "gb18030 decoder: GB18030-2022 6", + "gb18030 decoder: GB18030-2022 7", + "gb18030 decoder: GB18030-2022 8", + "gb18030 decoder: GB18030-2022 9", + "gb18030 decoder: GB18030-2022 10", + "gb18030 decoder: GB18030-2022 11", + "gb18030 decoder: GB18030-2022 12", + "gb18030 decoder: GB18030-2022 13", + "gb18030 decoder: GB18030-2022 14", + "gb18030 decoder: GB18030-2022 15", + "gb18030 decoder: GB18030-2022 16", + "gb18030 decoder: GB18030-2022 17", + "gb18030 decoder: GB18030-2022 18", + "gb18030 decoder: GB18030-2022 19", + "gb18030 decoder: GB18030-2022 20", + "gb18030 decoder: GB18030-2022 21", + "gb18030 decoder: GB18030-2022 22", + "gb18030 decoder: GB18030-2022 23", + "gb18030 decoder: GB18030-2022 24", + "gb18030 decoder: GB18030-2022 25", + "gb18030 decoder: GB18030-2022 26", + "gb18030 decoder: GB18030-2022 27", + "gb18030 decoder: GB18030-2022 28", + "gb18030 decoder: GB18030-2022 29", + "gb18030 decoder: GB18030-2022 30", + "gb18030 decoder: GB18030-2022 31", + "gb18030 decoder: GB18030-2022 32", + "gb18030 decoder: GB18030-2022 33", + "gb18030 decoder: GB18030-2022 34", + "gb18030 decoder: GB18030-2022 35", + "gb18030 decoder: GB18030-2022 36" + ], + "gb18030-decoder.any.worker.html": [ + "gb18030 decoder: GB18030-2022 1", + "gb18030 decoder: GB18030-2022 2", + "gb18030 decoder: GB18030-2022 3", + "gb18030 decoder: GB18030-2022 4", + "gb18030 decoder: GB18030-2022 5", + "gb18030 decoder: GB18030-2022 6", + "gb18030 decoder: GB18030-2022 7", + "gb18030 decoder: GB18030-2022 8", + "gb18030 decoder: GB18030-2022 9", + "gb18030 decoder: GB18030-2022 10", + "gb18030 decoder: GB18030-2022 11", + "gb18030 decoder: GB18030-2022 12", + "gb18030 decoder: GB18030-2022 13", + "gb18030 decoder: GB18030-2022 14", + "gb18030 decoder: GB18030-2022 15", + "gb18030 decoder: GB18030-2022 16", + "gb18030 decoder: GB18030-2022 17", + "gb18030 decoder: GB18030-2022 18", + "gb18030 decoder: GB18030-2022 19", + "gb18030 decoder: GB18030-2022 20", + "gb18030 decoder: GB18030-2022 21", + "gb18030 decoder: GB18030-2022 22", + "gb18030 decoder: GB18030-2022 23", + "gb18030 decoder: GB18030-2022 24", + "gb18030 decoder: GB18030-2022 25", + "gb18030 decoder: GB18030-2022 26", + "gb18030 decoder: GB18030-2022 27", + "gb18030 decoder: GB18030-2022 28", + "gb18030 decoder: GB18030-2022 29", + "gb18030 decoder: GB18030-2022 30", + "gb18030 decoder: GB18030-2022 31", + "gb18030 decoder: GB18030-2022 32", + "gb18030 decoder: GB18030-2022 33", + "gb18030 decoder: GB18030-2022 34", + "gb18030 decoder: GB18030-2022 35", + "gb18030 decoder: GB18030-2022 36" + ] + }, + "gbk": { + "gbk-decoder.any.html": true, + "gbk-decoder.any.worker.html": true + } + }, + "replacement-encodings.any.html": false, + "replacement-encodings.any.worker.html": false, + "streams": { + "backpressure.any.html": true, + "backpressure.any.worker.html": true, + "decode-attributes.any.html": true, + "decode-attributes.any.worker.html": true, + "decode-bad-chunks.any.html": true, + "decode-bad-chunks.any.worker.html": true, + "decode-ignore-bom.any.html": true, + "decode-ignore-bom.any.worker.html": true, + "decode-incomplete-input.any.html": true, + "decode-incomplete-input.any.worker.html": true, + "decode-non-utf8.any.html": true, + "decode-non-utf8.any.worker.html": true, + "decode-split-character.any.html": true, + "decode-split-character.any.worker.html": true, + "decode-utf8.any.html": true, + "decode-utf8.any.worker.html": true, + "encode-bad-chunks.any.html": true, + "encode-bad-chunks.any.worker.html": true, + "encode-utf8.any.html": true, + "encode-utf8.any.worker.html": true, + "readable-writable-properties.any.html": true, + "readable-writable-properties.any.worker.html": true, + "realms.window.html": false, + "invalid-realm.window.html": false + }, + "textdecoder-arguments.any.html": true, + "textdecoder-arguments.any.worker.html": true, + "textdecoder-byte-order-marks.any.html": true, + "textdecoder-byte-order-marks.any.worker.html": true, + "textdecoder-copy.any.html": true, + "textdecoder-copy.any.worker.html": true, + "textdecoder-fatal-single-byte.any.html?1-1000": true, + "textdecoder-fatal-single-byte.any.html?1001-2000": true, + "textdecoder-fatal-single-byte.any.html?2001-3000": true, + "textdecoder-fatal-single-byte.any.html?3001-4000": true, + "textdecoder-fatal-single-byte.any.html?4001-5000": true, + "textdecoder-fatal-single-byte.any.html?5001-6000": true, + "textdecoder-fatal-single-byte.any.html?6001-7000": true, + "textdecoder-fatal-single-byte.any.html?7001-last": true, + "textdecoder-fatal-single-byte.any.worker.html?1-1000": true, + "textdecoder-fatal-single-byte.any.worker.html?1001-2000": true, + "textdecoder-fatal-single-byte.any.worker.html?2001-3000": true, + "textdecoder-fatal-single-byte.any.worker.html?3001-4000": true, + "textdecoder-fatal-single-byte.any.worker.html?4001-5000": true, + "textdecoder-fatal-single-byte.any.worker.html?5001-6000": true, + "textdecoder-fatal-single-byte.any.worker.html?6001-7000": true, + "textdecoder-fatal-single-byte.any.worker.html?7001-last": true, + "textdecoder-fatal-streaming.any.html": true, + "textdecoder-fatal-streaming.any.worker.html": true, + "textdecoder-fatal.any.html": true, + "textdecoder-fatal.any.worker.html": true, + "textdecoder-ignorebom.any.html": true, + "textdecoder-ignorebom.any.worker.html": true, + "textdecoder-labels.any.html": true, + "textdecoder-labels.any.worker.html": true, + "textdecoder-streaming.any.html": true, + "textdecoder-streaming.any.worker.html": true, + "textdecoder-utf16-surrogates.any.html": true, + "textdecoder-utf16-surrogates.any.worker.html": true, + "textencoder-constructor-non-utf.any.html": true, + "textencoder-constructor-non-utf.any.worker.html": true, + "textencoder-utf16-surrogates.any.html": true, + "textencoder-utf16-surrogates.any.worker.html": true, + "unsupported-encodings.any.html": false, + "unsupported-encodings.any.worker.html": false, + "single-byte-decoder.window.html?TextDecoder": true, + "textdecoder-eof.any.html": true, + "textdecoder-eof.any.worker.html": true, + "idlharness-shadowrealm.window.html": false, + "single-byte-decoder.window.html?XMLHttpRequest": false, + "single-byte-decoder.window.html?document": false, + "unsupported-labels.window.html": false + }, + "hr-time": { + "monotonic-clock.any.html": true, + "monotonic-clock.any.worker.html": true, + "basic.any.html": true, + "basic.any.worker.html": true, + "idlharness.any.html": [ + "Window interface: attribute performance" + ], + "idlharness.any.worker.html": [ + "WorkerGlobalScope interface: attribute performance", + "WorkerGlobalScope interface: self must inherit property \"performance\" with the proper type" + ], + "window-worker-timeOrigin.window.html": true, + "idlharness-shadowrealm.window.html": false + }, + "streams": { + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "piping": { + "abort.any.html": true, + "abort.any.worker.html": true, + "close-propagation-backward.any.html": true, + "close-propagation-backward.any.worker.html": true, + "close-propagation-forward.any.html": true, + "close-propagation-forward.any.worker.html": true, + "error-propagation-backward.any.html": true, + "error-propagation-backward.any.worker.html": true, + "error-propagation-forward.any.html": true, + "error-propagation-forward.any.worker.html": true, + "flow-control.any.html": true, + "flow-control.any.worker.html": true, + "general.any.html": true, + "general.any.worker.html": true, + "multiple-propagation.any.html": true, + "multiple-propagation.any.worker.html": true, + "pipe-through.any.html": true, + "pipe-through.any.worker.html": true, + "then-interception.any.html": true, + "then-interception.any.worker.html": true, + "throwing-options.any.html": true, + "throwing-options.any.worker.html": true, + "transform-streams.any.html": true, + "transform-streams.any.worker.html": true + }, + "queuing-strategies.any.html": true, + "queuing-strategies.any.worker.html": true, + "readable-byte-streams": { + "bad-buffers-and-views.any.html": true, + "bad-buffers-and-views.any.worker.html": true, + "construct-byob-request.any.html": true, + "construct-byob-request.any.worker.html": true, + "general.any.html": true, + "general.any.worker.html": true, + "non-transferable-buffers.any.html": true, + "non-transferable-buffers.any.worker.html": true, + "tee.any.html": true, + "tee.any.worker.html": true, + "respond-after-enqueue.any.html": true, + "respond-after-enqueue.any.worker.html": true, + "enqueue-with-detached-buffer.any.html": true, + "enqueue-with-detached-buffer.any.worker.html": true, + "read-min.any.html": true, + "read-min.any.worker.html": true + }, + "readable-streams": { + "async-iterator.any.html": true, + "bad-strategies.any.html": true, + "bad-strategies.any.worker.html": true, + "bad-underlying-sources.any.html": true, + "bad-underlying-sources.any.worker.html": true, + "cancel.any.html": true, + "cancel.any.worker.html": true, + "constructor.any.html": true, + "constructor.any.worker.html": true, + "count-queuing-strategy-integration.any.html": true, + "count-queuing-strategy-integration.any.worker.html": true, + "default-reader.any.html": true, + "default-reader.any.worker.html": true, + "floating-point-total-queue-size.any.html": true, + "floating-point-total-queue-size.any.worker.html": true, + "garbage-collection.any.html": true, + "garbage-collection.any.worker.html": true, + "general.any.html": true, + "general.any.worker.html": true, + "patched-global.any.html": true, + "patched-global.any.worker.html": true, + "reentrant-strategies.any.html": true, + "reentrant-strategies.any.worker.html": true, + "tee.any.html": true, + "tee.any.worker.html": true, + "templated.any.html": true, + "templated.any.worker.html": true, + "async-iterator.any.worker.html": true, + "cross-realm-crash.window.html": false, + "owning-type-message-port.any.html": false, + "owning-type-message-port.any.worker.html": false, + "owning-type.any.html": false, + "owning-type.any.worker.html": false, + "from.any.html": true, + "from.any.worker.html": true + }, + "transform-streams": { + "backpressure.any.html": true, + "backpressure.any.worker.html": true, + "errors.any.html": true, + "errors.any.worker.html": true, + "flush.any.html": true, + "flush.any.worker.html": true, + "general.any.html": true, + "general.any.worker.html": true, + "lipfuzz.any.html": true, + "lipfuzz.any.worker.html": true, + "patched-global.any.html": true, + "patched-global.any.worker.html": true, + "properties.any.html": true, + "properties.any.worker.html": true, + "reentrant-strategies.any.html": true, + "reentrant-strategies.any.worker.html": true, + "strategies.any.html": true, + "strategies.any.worker.html": true, + "terminate.any.html": true, + "terminate.any.worker.html": true + }, + "writable-streams": { + "aborting.any.html": true, + "aborting.any.worker.html": true, + "bad-strategies.any.html": true, + "bad-strategies.any.worker.html": true, + "bad-underlying-sinks.any.html": true, + "bad-underlying-sinks.any.worker.html": true, + "byte-length-queuing-strategy.any.html": true, + "byte-length-queuing-strategy.any.worker.html": true, + "close.any.html": true, + "close.any.worker.html": true, + "constructor.any.html": true, + "constructor.any.worker.html": true, + "count-queuing-strategy.any.html": true, + "count-queuing-strategy.any.worker.html": true, + "error.any.html": true, + "error.any.worker.html": true, + "floating-point-total-queue-size.any.html": true, + "floating-point-total-queue-size.any.worker.html": true, + "general.any.html": true, + "general.any.worker.html": true, + "properties.any.html": true, + "properties.any.worker.html": true, + "reentrant-strategy.any.html": true, + "reentrant-strategy.any.worker.html": true, + "start.any.html": true, + "start.any.worker.html": true, + "write.any.html": true, + "write.any.worker.html": true + }, + "queuing-strategies-size-function-per-global.window.html": false, + "transferable": { + "deserialize-error.window.html": false, + "transfer-with-messageport.window.html": false + }, + "idlharness-shadowrealm.window.html": false + }, + "user-timing": { + "buffered-flag.any.html": false, + "buffered-flag.any.worker.html": false, + "case-sensitivity.any.html": false, + "case-sensitivity.any.worker.html": false, + "clear_all_marks.any.html": true, + "clear_all_marks.any.worker.html": true, + "clear_all_measures.any.html": true, + "clear_all_measures.any.worker.html": true, + "clear_non_existent_mark.any.html": true, + "clear_non_existent_mark.any.worker.html": true, + "clear_non_existent_measure.any.html": true, + "clear_non_existent_measure.any.worker.html": true, + "clear_one_mark.any.html": true, + "clear_one_mark.any.worker.html": true, + "clear_one_measure.any.html": true, + "clear_one_measure.any.worker.html": true, + "entry_type.any.html": true, + "entry_type.any.worker.html": true, + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "mark-entry-constructor.any.html": true, + "mark-entry-constructor.any.worker.html": true, + "mark-errors.any.html": true, + "mark-errors.any.worker.html": true, + "mark-l3.any.html": false, + "mark-l3.any.worker.html": false, + "mark-measure-return-objects.any.html": true, + "mark-measure-return-objects.any.worker.html": true, + "mark.any.html": true, + "mark.any.worker.html": true, + "measure-l3.any.html": true, + "measure-l3.any.worker.html": true, + "measure-with-dict.any.html": [ + "measure entries' detail and start/end are customizable" + ], + "measure-with-dict.any.worker.html": [ + "measure entries' detail and start/end are customizable" + ], + "measure_syntax_err.any.html": true, + "measure_syntax_err.any.worker.html": true, + "structured-serialize-detail.any.html": true, + "structured-serialize-detail.any.worker.html": true, + "supported-usertiming-types.any.html": false, + "supported-usertiming-types.any.worker.html": false, + "user_timing_exists.any.html": true, + "user_timing_exists.any.worker.html": true, + "invoke_with_timing_attributes.worker.html": true, + "performance-measure-invalid.worker.html": false, + "idlharness-shadowrealm.window.html": false + }, + "wasm": { + "jsapi": { + "constructor": { + "compile.any.html": true, + "compile.any.worker.html": true, + "instantiate-bad-imports.any.html": true, + "instantiate-bad-imports.any.worker.html": true, + "instantiate.any.html": [ + "Synchronous options handling: Buffer argument" + ], + "instantiate.any.worker.html": [ + "Synchronous options handling: Buffer argument" + ], + "multi-value.any.html": true, + "multi-value.any.worker.html": true, + "toStringTag.any.html": true, + "toStringTag.any.worker.html": true, + "validate.any.html": true, + "validate.any.worker.html": true + }, + "global": { + "constructor.any.html": true, + "constructor.any.worker.html": true, + "toString.any.html": true, + "toString.any.worker.html": true, + "type.tentative.any.html": false, + "type.tentative.any.worker.html": false, + "value-get-set.any.html": true, + "value-get-set.any.worker.html": true, + "valueOf.any.html": true, + "valueOf.any.worker.html": true + }, + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "instance": { + "constructor-bad-imports.any.html": true, + "constructor-bad-imports.any.worker.html": true, + "constructor-caching.any.html": true, + "constructor-caching.any.worker.html": true, + "constructor.any.html": true, + "constructor.any.worker.html": true, + "exports.any.html": true, + "exports.any.worker.html": true, + "toString.any.html": true, + "toString.any.worker.html": true + }, + "interface.any.html": true, + "interface.any.worker.html": true, + "memory": { + "buffer.any.html": true, + "buffer.any.worker.html": true, + "constructor.any.html": true, + "constructor.any.worker.html": true, + "grow.any.html": true, + "grow.any.worker.html": true, + "toString.any.html": true, + "toString.any.worker.html": true, + "type.tentative.any.html": false, + "type.tentative.any.worker.html": false, + "constructor-shared.tentative.any.html": true, + "constructor-shared.tentative.any.worker.html": true, + "constructor-types.tentative.any.html": false, + "constructor-types.tentative.any.worker.html": false + }, + "module": { + "constructor.any.html": true, + "constructor.any.worker.html": true, + "customSections.any.html": true, + "customSections.any.worker.html": true, + "exports.any.html": true, + "exports.any.worker.html": true, + "imports.any.html": true, + "imports.any.worker.html": true, + "toString.any.html": true, + "toString.any.worker.html": true + }, + "prototypes.any.html": true, + "prototypes.any.worker.html": true, + "table": { + "constructor.any.html": true, + "constructor.any.worker.html": true, + "get-set.any.html": true, + "get-set.any.worker.html": true, + "grow.any.html": true, + "grow.any.worker.html": true, + "length.any.html": true, + "length.any.worker.html": true, + "toString.any.html": true, + "toString.any.worker.html": true, + "constructor-types.tentative.any.html": false, + "constructor-types.tentative.any.worker.html": false, + "type.tentative.any.html": false, + "type.tentative.any.worker.html": false + }, + "exception": { + "basic.tentative.any.html": true, + "basic.tentative.any.worker.html": true, + "constructor.tentative.any.html": true, + "constructor.tentative.any.worker.html": true, + "getArg.tentative.any.html": [ + "Getting out-of-range argument" + ], + "getArg.tentative.any.worker.html": [ + "Getting out-of-range argument" + ], + "is.tentative.any.html": true, + "is.tentative.any.worker.html": true, + "toString.tentative.any.html": true, + "toString.tentative.any.worker.html": true, + "identity.tentative.any.html": true, + "identity.tentative.any.worker.html": true + }, + "tag": { + "constructor.tentative.any.html": true, + "constructor.tentative.any.worker.html": true, + "toString.tentative.any.html": true, + "toString.tentative.any.worker.html": true, + "type.tentative.any.html": false, + "type.tentative.any.worker.html": false + }, + "function": { + "call.tentative.any.html": false, + "call.tentative.any.worker.html": false, + "constructor.tentative.any.html": false, + "constructor.tentative.any.worker.html": false, + "table.tentative.any.html": false, + "table.tentative.any.worker.html": false, + "type.tentative.any.html": false, + "type.tentative.any.worker.html": false + } + }, + "serialization": { + "module": { + "serialization-via-idb.any.html": false, + "serialization-via-idb.any.worker.html": false, + "serialization-via-notifications-api.any.html": false, + "serialization-via-notifications-api.any.worker.html": false, + "nested-worker-success.any.worker.html": true + }, + "arraybuffer": { + "transfer.window.html": false + } + }, + "webapi": { + "abort.any.html": true, + "abort.any.worker.html": true, + "body.any.html": true, + "body.any.worker.html": true, + "contenttype.any.html": true, + "contenttype.any.worker.html": true, + "empty-body.any.html": true, + "empty-body.any.worker.html": true, + "historical.any.html": false, + "historical.any.worker.html": false, + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "instantiateStreaming-bad-imports.any.html": true, + "instantiateStreaming-bad-imports.any.worker.html": true, + "instantiateStreaming.any.html": true, + "instantiateStreaming.any.worker.html": true, + "invalid-args.any.html": true, + "invalid-args.any.worker.html": true, + "invalid-code.any.html": true, + "invalid-code.any.worker.html": true, + "modified-contenttype.any.html": true, + "modified-contenttype.any.worker.html": true, + "origin.sub.any.html": [ + "Opaque response: compileStreaming", + "Opaque response: instantiateStreaming" + ], + "origin.sub.any.worker.html": [ + "Opaque response: compileStreaming", + "Opaque response: instantiateStreaming" + ], + "rejected-arg.any.html": true, + "rejected-arg.any.worker.html": true, + "status.any.html": true, + "status.any.worker.html": true + }, + "create_multiple_memory.worker.html": true + }, + "webidl": { + "ecmascript-binding": { + "es-exceptions": { + "DOMException-constants.any.html": true, + "DOMException-constants.any.worker.html": true, + "DOMException-constructor-and-prototype.any.html": true, + "DOMException-constructor-and-prototype.any.worker.html": true, + "DOMException-constructor-behavior.any.html": true, + "DOMException-constructor-behavior.any.worker.html": true, + "DOMException-custom-bindings.any.html": true, + "DOMException-custom-bindings.any.worker.html": true + }, + "class-string-interface.any.html": true, + "class-string-interface.any.worker.html": true, + "class-string-iterator-prototype-object.any.html": [ + "Object.prototype.toString applied after deleting @@toStringTag" + ], + "class-string-iterator-prototype-object.any.worker.html": [ + "Object.prototype.toString applied after deleting @@toStringTag" + ], + "class-string-named-properties-object.window.html": false, + "global-immutable-prototype.any.html": [ + "Setting to a different prototype" + ], + "global-object-implicit-this-value.any.html": [ + "Global object's getter throws when called on incompatible object", + "Global object's setter throws when called on incompatible object", + "Global object's operation throws when called on incompatible object", + "Global object's getter works when called on null / undefined", + "Global object's setter works when called on null / undefined" + ], + "global-object-implicit-this-value.any.worker.html": [ + "Global object's getter throws when called on incompatible object", + "Global object's setter throws when called on incompatible object", + "Global object's operation throws when called on incompatible object", + "Global object's getter works when called on null / undefined", + "Global object's setter works when called on null / undefined" + ], + "legacy-factor-function-subclass.window.html": false, + "no-regexp-special-casing.any.html": [ + "Conversion to a sequence works" + ], + "no-regexp-special-casing.any.worker.html": [ + "Conversion to a sequence works" + ], + "builtin-function-properties.any.html": true, + "builtin-function-properties.any.worker.html": true, + "observable-array-no-leak-of-internals.window.html": false, + "observable-array-ownkeys.window.html": false + }, + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "idlharness-shadowrealm.window.html": false + }, + "url": { + "historical.any.html": [ + " and .searchParams should be undefined", + "URL: no structured serialize/deserialize support", + "URLSearchParams: no structured serialize/deserialize support" + ], + "historical.any.worker.html": [ + "URL: no structured serialize/deserialize support", + "URLSearchParams: no structured serialize/deserialize support" + ], + "idlharness.any.html": true, + "idlharness.any.worker.html": true, + "toascii.window.html": [ + "aa-- (using .host)", + "aa-- (using .hostname)", + "aa-- (using .host)", + "aa-- (using .hostname)", + "a†-- (using .host)", + "a†-- (using .hostname)", + "a†-- (using .host)", + "a†-- (using .hostname)", + "ab--c (using .host)", + "ab--c (using .hostname)", + "ab--c (using .host)", + "ab--c (using .hostname)", + "-x (using .host)", + "-x (using .hostname)", + "-x (using .host)", + "-x (using .hostname)", + "-† (using .host)", + "-† (using .hostname)", + "-† (using .host)", + "-† (using .hostname)", + "-x.xn--zca (using .host)", + "-x.xn--zca (using .hostname)", + "-x.xn--zca (using .host)", + "-x.xn--zca (using .hostname)", + "-x.ß (using .host)", + "-x.ß (using .hostname)", + "-x.ß (using .host)", + "-x.ß (using .hostname)", + "x-.xn--zca (using .host)", + "x-.xn--zca (using .hostname)", + "x-.xn--zca (using .host)", + "x-.xn--zca (using .hostname)", + "x-.ß (using .host)", + "x-.ß (using .hostname)", + "x-.ß (using .host)", + "x-.ß (using .hostname)", + "x..xn--zca (using .host)", + "x..xn--zca (using .hostname)", + "x..xn--zca (using .host)", + "x..xn--zca (using .hostname)", + "x..ß (using .host)", + "x..ß (using .hostname)", + "x..ß (using .host)", + "x..ß (using .hostname)", + "xn--a (using )", + "xn--a (using .host)", + "xn--a (using .hostname)", + "xn--a (using )", + "xn--a (using .host)", + "xn--a (using .hostname)", + "xn--a.xn--zca (using )", + "xn--a.xn--zca (using .host)", + "xn--a.xn--zca (using .hostname)", + "xn--a.xn--zca (using )", + "xn--a.xn--zca (using .host)", + "xn--a.xn--zca (using .hostname)", + "xn--a.ß (using )", + "xn--a.ß (using .host)", + "xn--a.ß (using .hostname)", + "xn--a.ß (using )", + "xn--a.ß (using .host)", + "xn--a.ß (using .hostname)", + "xn--ls8h= (using )", + "xn--ls8h= (using .host)", + "xn--ls8h= (using .hostname)", + "xn--ls8h= (using )", + "xn--ls8h= (using .host)", + "xn--ls8h= (using .hostname)", + "xn--tešla (using )", + "xn--tešla (using .host)", + "xn--tešla (using .hostname)", + "xn--tešla (using )", + "xn--tešla (using .host)", + "xn--tešla (using .hostname)", + "xn--zca.xn--zca (using .host)", + "xn--zca.xn--zca (using .hostname)", + "xn--zca.xn--zca (using .host)", + "xn--zca.xn--zca (using .hostname)", + "xn--zca.ß (using .host)", + "xn--zca.ß (using .hostname)", + "xn--zca.ß (using .host)", + "xn--zca.ß (using .hostname)", + "ab--c.xn--zca (using .host)", + "ab--c.xn--zca (using .hostname)", + "ab--c.xn--zca (using .host)", + "ab--c.xn--zca (using .hostname)", + "ab--c.ß (using .host)", + "ab--c.ß (using .hostname)", + "ab--c.ß (using .host)", + "ab--c.ß (using .hostname)", + "‍.example (using URL)", + "‍.example (using URL.host)", + "‍.example (using URL.hostname)", + "‍.example (using )", + "‍.example (using .host)", + "‍.example (using .hostname)", + "‍.example (using )", + "‍.example (using .host)", + "‍.example (using .hostname)", + "xn--1ug.example (using URL)", + "xn--1ug.example (using URL.host)", + "xn--1ug.example (using URL.hostname)", + "xn--1ug.example (using )", + "xn--1ug.example (using .host)", + "xn--1ug.example (using .hostname)", + "xn--1ug.example (using )", + "xn--1ug.example (using .host)", + "xn--1ug.example (using .hostname)", + "يa (using )", + "يa (using .host)", + "يa (using .hostname)", + "يa (using )", + "يa (using .host)", + "يa (using .hostname)", + "xn--a-yoc (using )", + "xn--a-yoc (using .host)", + "xn--a-yoc (using .hostname)", + "xn--a-yoc (using )", + "xn--a-yoc (using .host)", + "xn--a-yoc (using .hostname)", + "ශ්‍රී (using .host)", + "ශ්‍රී (using .hostname)", + "ශ්‍රී (using .host)", + "ශ්‍රී (using .hostname)", + "نامه‌ای (using .host)", + "نامه‌ای (using .hostname)", + "نامه‌ای (using .host)", + "نامه‌ای (using .hostname)", + "�.com (using )", + "�.com (using .host)", + "�.com (using .hostname)", + "�.com (using )", + "�.com (using .host)", + "�.com (using .hostname)", + "xn--zn7c.com (using )", + "xn--zn7c.com (using .host)", + "xn--zn7c.com (using .hostname)", + "xn--zn7c.com (using )", + "xn--zn7c.com (using .host)", + "xn--zn7c.com (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901x (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901x (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901x (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901x (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901† (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901† (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901† (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901† (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901x.ß (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901x.ß (using .hostname)", + "x01234567890123456789012345678901234567890123456789012345678901x.ß (using .host)", + "x01234567890123456789012345678901234567890123456789012345678901x.ß (using .hostname)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .host)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .hostname)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .host)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .hostname)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca (using .host)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca (using .hostname)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca (using .host)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca (using .hostname)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß (using .host)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß (using .hostname)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß (using .host)", + "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß (using .hostname)", + "a­b (using .host)", + "a­b (using .hostname)", + "a­b (using .host)", + "a­b (using .hostname)", + "≠ (using .host)", + "≠ (using .hostname)", + "≠ (using .host)", + "≠ (using .hostname)", + "≮ (using .host)", + "≮ (using .hostname)", + "≮ (using .host)", + "≮ (using .hostname)", + "≯ (using .host)", + "≯ (using .hostname)", + "≯ (using .host)", + "≯ (using .hostname)" + ], + "url-origin.any.html": [ + "Origin parsing: without base", + "Origin parsing: without base", + "Origin parsing: without base", + "Origin parsing: without base" + ], + "url-origin.any.worker.html": [ + "Origin parsing: without base", + "Origin parsing: without base", + "Origin parsing: without base", + "Origin parsing: without base" + ], + "url-searchparams.any.html": true, + "url-searchparams.any.worker.html": true, + "url-setters-stripping.any.html": [ + "Setting port with leading U+0000 (https:)", + "Setting port with leading U+001F (https:)", + "Setting port with leading U+0000 (wpt++:)", + "Setting port with leading U+001F (wpt++:)" + ], + "url-setters-stripping.any.worker.html": [ + "Setting port with leading U+0000 (https:)", + "Setting port with leading U+001F (https:)", + "Setting port with leading U+0000 (wpt++:)", + "Setting port with leading U+001F (wpt++:)" + ], + "url-tojson.any.html": true, + "url-tojson.any.worker.html": true, + "urlencoded-parser.any.html": true, + "urlencoded-parser.any.worker.html": true, + "urlsearchparams-append.any.html": true, + "urlsearchparams-append.any.worker.html": true, + "urlsearchparams-constructor.any.html": true, + "urlsearchparams-constructor.any.worker.html": true, + "urlsearchparams-delete.any.html": [ + "Changing the query of a URL with an opaque path can impact the path if the URL has no fragment" + ], + "urlsearchparams-delete.any.worker.html": [ + "Changing the query of a URL with an opaque path can impact the path if the URL has no fragment" + ], + "urlsearchparams-foreach.any.html": true, + "urlsearchparams-foreach.any.worker.html": true, + "urlsearchparams-get.any.html": true, + "urlsearchparams-get.any.worker.html": true, + "urlsearchparams-getall.any.html": true, + "urlsearchparams-getall.any.worker.html": true, + "urlsearchparams-has.any.html": true, + "urlsearchparams-has.any.worker.html": true, + "urlsearchparams-set.any.html": true, + "urlsearchparams-set.any.worker.html": true, + "urlsearchparams-size.any.html": true, + "urlsearchparams-sort.any.html": true, + "urlsearchparams-sort.any.worker.html": true, + "urlsearchparams-stringifier.any.html": true, + "urlsearchparams-stringifier.any.worker.html": true, + "idlharness-shadowrealm.window.html": false, + "percent-encoding.window.html": [ + "Input † with encoding big5", + "Input † with encoding euc-kr", + "Input † with encoding utf-8", + "Input † with encoding windows-1252", + "Input \u000eA with encoding big5", + "Input \u000eA with encoding iso-2022-jp", + "Input \u000eA with encoding utf-8", + "Input ‾\\ with encoding iso-2022-jp", + "Input ‾\\ with encoding utf-8", + "Input  with encoding gb18030", + "Input  with encoding utf-8", + "Input − with encoding shift_jis", + "Input − with encoding utf-8", + "Input á| with encoding utf-8" + ], + "IdnaTestV2.window.html": [ + "ToASCII(\"a‌b\") C1", + "ToASCII(\"A‌B\") C1", + "ToASCII(\"A‌b\") C1", + "ToASCII(\"xn--ab-j1t\") C1", + "ToASCII(\"a‍b\") C2", + "ToASCII(\"A‍B\") C2", + "ToASCII(\"A‍b\") C2", + "ToASCII(\"xn--ab-m1t\") C2", + "ToASCII(\"1.aß‌‍b‌‍cßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.ASS‌‍B‌‍CSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.ASS‌‍B‌‍CSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.ass‌‍b‌‍cssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.ass‌‍b‌‍cssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.Ass‌‍b‌‍cssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.Ass‌‍b‌‍cssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.Aß‌‍b‌‍cßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz\") C1; C2; A4_2 (ignored)", + "ToASCII(\"1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc\") C1; C2; A4_2 (ignored)", + "ToASCII(\"‌x‍n‌-‍-bß\") C1; C2", + "ToASCII(\"‌X‍N‌-‍-BSS\") C1; C2", + "ToASCII(\"‌x‍n‌-‍-bss\") C1; C2", + "ToASCII(\"‌X‍n‌-‍-Bss\") C1; C2", + "ToASCII(\"xn--xn--bss-7z6ccid\") C1; C2", + "ToASCII(\"‌X‍n‌-‍-Bß\") C1; C2", + "ToASCII(\"xn--xn--b-pqa5796ccahd\") C1; C2", + "ToASCII(\"ஹ‍\") C2", + "ToASCII(\"xn--dmc225h\") C2", + "ToASCII(\"‍\") C2", + "ToASCII(\"xn--1ug\") C2", + "ToASCII(\"ஹ‌\") C1", + "ToASCII(\"xn--dmc025h\") C1", + "ToASCII(\"‌\") C1", + "ToASCII(\"xn--0ug\") C1", + "ToASCII(\"ۯ‌ۯ\") C1", + "ToASCII(\"xn--cmba004q\") C1", + "ToASCII(\"ß۫。‍\") C2", + "ToASCII(\"SS۫。‍\") C2", + "ToASCII(\"ss۫。‍\") C2", + "ToASCII(\"Ss۫。‍\") C2", + "ToASCII(\"xn--ss-59d.xn--1ug\") C2", + "ToASCII(\"xn--zca012a.xn--1ug\") C2", + "ToASCII(\"‌긃.榶-\") C1; V3 (ignored)", + "ToASCII(\"‌긃.榶-\") C1; V3 (ignored)", + "ToASCII(\"xn--0ug3307c.xn----d87b\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"Å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"xn----1fa1788k.xn--0ug\") C1; V3 (ignored)", + "ToASCII(\"å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"å둄-.‌\") C1; V3 (ignored)", + "ToASCII(\"ꡦᡑ‍1.。𐋣-\") C2; V3 (ignored); A4_2 (ignored)", + "ToASCII(\"xn--1-o7j663bdl7m..xn----381i\") C2; V3 (ignored); A4_2 (ignored)", + "ToASCII(\"1.䰹‍-。웈\") C2; V3 (ignored)", + "ToASCII(\"1.䰹‍-。웈\") C2; V3 (ignored)", + "ToASCII(\"1.xn----tgnz80r.xn--kp5b\") C2; V3 (ignored)", + "ToASCII(\"-3.‍ヌᢕ\") C2; V3 (ignored)", + "ToASCII(\"-3.xn--fbf739aq5o\") C2; V3 (ignored)", + "ToASCII(\"ς-。‌𝟭-\") C1; V3 (ignored)", + "ToASCII(\"ς-。‌1-\") C1; V3 (ignored)", + "ToASCII(\"Σ-。‌1-\") C1; V3 (ignored)", + "ToASCII(\"σ-。‌1-\") C1; V3 (ignored)", + "ToASCII(\"xn----zmb.xn--1--i1t\") C1; V3 (ignored)", + "ToASCII(\"xn----xmb.xn--1--i1t\") C1; V3 (ignored)", + "ToASCII(\"Σ-。‌𝟭-\") C1; V3 (ignored)", + "ToASCII(\"σ-。‌𝟭-\") C1; V3 (ignored)", + "ToASCII(\"ᡯ⚉姶🄉.۷‍🎪‍\") C2; P1; V6", + "ToASCII(\"𝟵隁⯮.᠍‌\") C1", + "ToASCII(\"9隁⯮.᠍‌\") C1", + "ToASCII(\"xn--9-mfs8024b.xn--0ug\") C1", + "ToASCII(\"ß‌꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"ss‌꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"xn--ss-4ep585bkm5p.xn--ifh802b6a\") C1", + "ToASCII(\"xn--zca682johfi89m.xn--ifh802b6a\") C1", + "ToASCII(\"ß‌꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"ss‌꫶ᢥ.⊶ⴡⴖ\") C1", + "ToASCII(\"-。‍\") C2; V3 (ignored)", + "ToASCII(\"-。‍\") C2; V3 (ignored)", + "ToASCII(\"-.xn--1ug\") C2; V3 (ignored)", + "ToASCII(\"ς‍-.ⴣ𦟙\") C2; V3 (ignored)", + "ToASCII(\"σ‍-.ⴣ𦟙\") C2; V3 (ignored)", + "ToASCII(\"xn----zmb048s.xn--rlj2573p\") C2; V3 (ignored)", + "ToASCII(\"xn----xmb348s.xn--rlj2573p\") C2; V3 (ignored)", + "ToASCII(\"鱊。‌\") C1", + "ToASCII(\"xn--rt6a.xn--0ug\") C1", + "ToASCII(\"‌ⴚ。ς\") C1", + "ToASCII(\"‌ⴚ。σ\") C1", + "ToASCII(\"xn--0ug262c.xn--4xa\") C1", + "ToASCII(\"xn--0ug262c.xn--3xa\") C1", + "ToASCII(\"‌ⴚ。ς\") C1", + "ToASCII(\"‌ⴚ。σ\") C1", + "ToASCII(\"‍⾕。‌꥓̐ꡎ\") C1; C2", + "ToASCII(\"‍⾕。‌꥓̐ꡎ\") C1; C2", + "ToASCII(\"‍谷。‌꥓̐ꡎ\") C1; C2", + "ToASCII(\"xn--1ug0273b.xn--0sa359l6n7g13a\") C1; C2", + "ToASCII(\"‍。‌\") C1; C2", + "ToASCII(\"xn--1ug.xn--0ug\") C1; C2", + "ToASCII(\"‌。。\") C1; A4_2 (ignored)", + "ToASCII(\"xn--0ug..\") C1; A4_2 (ignored)", + "ToASCII(\"ᡲ-𝟹.ß-‌-\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.ß-‌-\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.SS-‌-\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.ss-‌-\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-3.Ss-‌-\") C1; V3 (ignored)", + "ToASCII(\"xn---3-p9o.xn--ss---276a\") C1; V3 (ignored)", + "ToASCII(\"xn---3-p9o.xn-----fia9303a\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-𝟹.SS-‌-\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-𝟹.ss-‌-\") C1; V3 (ignored)", + "ToASCII(\"ᡲ-𝟹.Ss-‌-\") C1; V3 (ignored)", + "ToASCII(\"𝟙。‍𝟸‍⁷\") C2", + "ToASCII(\"1。‍2‍7\") C2", + "ToASCII(\"1.xn--27-l1tb\") C2", + "ToASCII(\"‌.ßⴉ-\") C1; V3 (ignored)", + "ToASCII(\"‌.ssⴉ-\") C1; V3 (ignored)", + "ToASCII(\"‌.Ssⴉ-\") C1; V3 (ignored)", + "ToASCII(\"xn--0ug.xn--ss--bi1b\") C1; V3 (ignored)", + "ToASCII(\"xn--0ug.xn----pfa2305a\") C1; V3 (ignored)", + "ToASCII(\"ⴏ󠅋-.‍ⴉ\") C2; V3 (ignored)", + "ToASCII(\"xn----3vs.xn--1ug532c\") C2; V3 (ignored)", + "ToASCII(\"ⴏ󠅋-.‍ⴉ\") C2; V3 (ignored)", + "ToASCII(\"。ⴖͦ.‌\") C1; A4_2 (ignored)", + "ToASCII(\".xn--hva754s.xn--0ug\") C1; A4_2 (ignored)", + "ToASCII(\"‍攌꯭。ᢖ-ⴘ\") C2", + "ToASCII(\"xn--1ug592ykp6b.xn----mck373i\") C2", + "ToASCII(\"‌ꖨ.16.3툒۳\") C1", + "ToASCII(\"‌ꖨ.16.3툒۳\") C1", + "ToASCII(\"xn--0ug2473c.16.xn--3-nyc0117m\") C1", + "ToASCII(\"𝟏𝨙⸖.‍\") C2", + "ToASCII(\"1𝨙⸖.‍\") C2", + "ToASCII(\"xn--1-5bt6845n.xn--1ug\") C2", + "ToASCII(\"-‍.ⴞ𐋷\") C2; V3 (ignored)", + "ToASCII(\"xn----ugn.xn--mlj8559d\") C2; V3 (ignored)", + "ToASCII(\"嬃𝍌.‍ୄ\") C2", + "ToASCII(\"嬃𝍌.‍ୄ\") C2", + "ToASCII(\"xn--b6s0078f.xn--0ic557h\") C2", + "ToASCII(\"‍.F\") C2", + "ToASCII(\"‍.f\") C2", + "ToASCII(\"xn--1ug.f\") C2", + "ToASCII(\"‍㨲。ß\") C2", + "ToASCII(\"‍㨲。ß\") C2", + "ToASCII(\"‍㨲。SS\") C2", + "ToASCII(\"‍㨲。ss\") C2", + "ToASCII(\"‍㨲。Ss\") C2", + "ToASCII(\"xn--1ug914h.ss\") C2", + "ToASCII(\"xn--1ug914h.xn--zca\") C2", + "ToASCII(\"‍㨲。SS\") C2", + "ToASCII(\"‍㨲。ss\") C2", + "ToASCII(\"‍㨲。Ss\") C2", + "ToASCII(\"璼𝨭。‌󠇟\") C1", + "ToASCII(\"璼𝨭。‌󠇟\") C1", + "ToASCII(\"xn--gky8837e.xn--0ug\") C1", + "ToASCII(\"‌.‌\") C1", + "ToASCII(\"xn--0ug.xn--0ug\") C1", + "ToASCII(\"𝟠4󠇗𝈻.‍𐋵⛧‍\") C2", + "ToASCII(\"84󠇗𝈻.‍𐋵⛧‍\") C2", + "ToASCII(\"xn--84-s850a.xn--1uga573cfq1w\") C2", + "ToASCII(\"‍‌󠆪。ß𑓃\") C1; C2", + "ToASCII(\"‍‌󠆪。ß𑓃\") C1; C2", + "ToASCII(\"‍‌󠆪。SS𑓃\") C1; C2", + "ToASCII(\"‍‌󠆪。ss𑓃\") C1; C2", + "ToASCII(\"‍‌󠆪。Ss𑓃\") C1; C2", + "ToASCII(\"xn--0ugb.xn--ss-bh7o\") C1; C2", + "ToASCII(\"xn--0ugb.xn--zca0732l\") C1; C2", + "ToASCII(\"‍‌󠆪。SS𑓃\") C1; C2", + "ToASCII(\"‍‌󠆪。ss𑓃\") C1; C2", + "ToASCII(\"‍‌󠆪。Ss𑓃\") C1; C2", + "ToASCII(\"。‌ヶ䒩.ꡪ\") C1; A4_2 (ignored)", + "ToASCII(\".xn--0ug287dj0o.xn--gd9a\") C1; A4_2 (ignored)", + "ToASCII(\"梉。‌\") C1", + "ToASCII(\"xn--7zv.xn--0ug\") C1", + "ToASCII(\"𐋷。‍\") C2", + "ToASCII(\"xn--r97c.xn--1ug\") C2" + ], + "javascript-urls.window.html": false, + "url-constructor.any.html?exclude=(file|javascript|mailto)": [ + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: against ", + "Parsing: <..//path> against ", + "Parsing: against ", + "Parsing: <> against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against " + ], + "url-constructor.any.html?include=file": [ + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: <\\/localhost//pig> against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: against " + ], + "url-constructor.any.html?include=javascript": true, + "url-constructor.any.html?include=mailto": true, + "url-constructor.any.worker.html?exclude=(file|javascript|mailto)": [ + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: against ", + "Parsing: <..//path> against ", + "Parsing: against ", + "Parsing: <> against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against " + ], + "url-constructor.any.worker.html?include=file": [ + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: <\\/localhost//pig> against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: without base", + "Parsing: against ", + "Parsing: against ", + "Parsing: against ", + "Parsing: without base", + "Parsing: without base", + "Parsing: against " + ], + "url-constructor.any.worker.html?include=javascript": true, + "url-constructor.any.worker.html?include=mailto": true, + "url-setters-a-area.window.html?exclude=(file|javascript|mailto)": [ + ": Setting .protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.", + ": Setting .protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged.", + ": Setting .protocol = 'b'", + ": Setting .protocol = 'b'", + ": Setting .protocol = 'B' Upper-case ASCII is lower-cased", + ": Setting .protocol = 'B' Upper-case ASCII is lower-cased", + ": Setting .protocol = 'é' Non-ASCII is rejected", + ": Setting .protocol = 'é' Non-ASCII is rejected", + ": Setting .protocol = '0b' No leading digit", + ": Setting .protocol = '0b' No leading digit", + ": Setting .protocol = '+b' No leading punctuation", + ": Setting .protocol = '+b' No leading punctuation", + ": Setting .protocol = 'bC0+-.'", + ": Setting .protocol = 'bC0+-.'", + ": Setting .protocol = 'b,c' Only some punctuation is acceptable", + ": Setting .protocol = 'b,c' Only some punctuation is acceptable", + ": Setting .protocol = 'bé' Non-ASCII is rejected", + ": Setting .protocol = 'bé' Non-ASCII is rejected", + ": Setting .protocol = 'file' Can’t switch from URL containing username/password/port to file", + ": Setting .protocol = 'file' Can’t switch from URL containing username/password/port to file", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'b' Can’t switch from special scheme to non-special", + ": Setting .protocol = 'b' Can’t switch from special scheme to non-special", + ": Setting .protocol = 's'", + ": Setting .protocol = 's'", + ": Setting .protocol = 'test'", + ": Setting .protocol = 'test'", + ": Setting .protocol = 'http' Can’t switch from non-special scheme to special", + ": Setting .protocol = 'http' Can’t switch from non-special scheme to special", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'file'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https:foo : bar' Stuff after the first ':' is ignored", + ": Setting .protocol = 'https:foo : bar' Stuff after the first ':' is ignored", + ": Setting Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored", + ": Setting Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored", + ": Setting .protocol = 'https' Port is set to null if it is the default for new scheme.", + ": Setting .protocol = 'https' Port is set to null if it is the default for new scheme.", + ": Setting .protocol = 'h\r\ntt\tps' Tab and newline are stripped", + ": Setting .protocol = 'h\r\ntt\tps' Tab and newline are stripped", + ": Setting .protocol = 'https\r'", + ": Setting .protocol = 'https\r'", + ": Setting .protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", + ": Setting .protocol = 'https\u0000' Non-tab/newline C0 controls result in no-op", + ": Setting .protocol = 'https\f'", + ": Setting .protocol = 'https\f'", + ": Setting .protocol = 'https\u000e'", + ": Setting .protocol = 'https\u000e'", + ": Setting .protocol = 'https '", + ": Setting .protocol = 'https '", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'me'", + ": Setting .username = 'me'", + ": Setting .username = 'me'", + ": Setting .username = 'me'", + ": Setting .username = ''", + ": Setting .username = ''", + ": Setting .username = ''", + ": Setting .username = ''", + ": Setting .username = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .username = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .username = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .username = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .username = 'x'", + ": Setting .username = 'x'", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'secret'", + ": Setting .password = 'secret'", + ": Setting .password = 'secret'", + ": Setting .password = 'secret'", + ": Setting .password = ''", + ": Setting .password = ''", + ": Setting .password = ''", + ": Setting .password = ''", + ": Setting .password = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .password = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the userinfo encode set.", + ": Setting .password = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .password = '%c3%89té' Bytes already percent-encoded are left as-is.", + ": Setting .password = 'x'", + ": Setting .password = 'x'", + ": Setting .host = '\u0000' Non-special scheme", + ": Setting .host = '\u0000' Non-special scheme", + ": Setting .host = '\t'", + ": Setting .host = '\t'", + ": Setting .host = '\n'", + ": Setting .host = '\n'", + ": Setting .host = '\r'", + ": Setting .host = '\r'", + ": Setting .host = ' '", + ": Setting .host = ' '", + ": Setting .host = '#'", + ": Setting .host = '#'", + ": Setting .host = '/'", + ": Setting .host = '/'", + ": Setting .host = '?'", + ": Setting .host = '?'", + ": Setting .host = '@'", + ": Setting .host = '@'", + ": Setting .host = 'ß'", + ": Setting .host = 'ß'", + ": Setting .host = 'ß' IDNA Nontransitional_Processing", + ": Setting .host = 'ß' IDNA Nontransitional_Processing", + ": Setting .host = 'example.net' Cannot-be-a-base means no host", + ": Setting .host = 'example.net' Cannot-be-a-base means no host", + ": Setting .host = 'example.com:8080'", + ": Setting .host = 'example.com:8080'", + ": Setting .host = 'example.com' Port number is unchanged if not specified in the new value", + ": Setting .host = 'example.com' Port number is unchanged if not specified in the new value", + ": Setting .host = 'example.com:' Port number is unchanged if not specified", + ": Setting .host = 'example.com:' Port number is unchanged if not specified", + ": Setting .host = '' The empty host is not valid for special schemes", + ": Setting .host = '' The empty host is not valid for special schemes", + ": Setting .host = '' The empty host is OK for non-special schemes", + ": Setting .host = '' The empty host is OK for non-special schemes", + ": Setting .host = 'example.net' Path-only URLs can gain a host", + ": Setting .host = 'example.net' Path-only URLs can gain a host", + ": Setting .host = '0x7F000001:8080' IPv4 address syntax is normalized", + ": Setting .host = '0x7F000001:8080' IPv4 address syntax is normalized", + ": Setting .host = '[::0:01]:2' IPv6 address syntax is normalized", + ": Setting .host = '[::0:01]:2' IPv6 address syntax is normalized", + ": Setting .host = '[2001:db8::2]:4002' IPv6 literal address with port, crbug.com/1012416", + ": Setting .host = '[2001:db8::2]:4002' IPv6 literal address with port, crbug.com/1012416", + ": Setting .host = 'example.com:80' Default port number is removed", + ": Setting .host = 'example.com:80' Default port number is removed", + ": Setting .host = 'example.com:443' Default port number is removed", + ": Setting .host = 'example.com:443' Default port number is removed", + ": Setting .host = 'example.com:80' Default port number is only removed for the relevant scheme", + ": Setting .host = 'example.com:80' Default port number is only removed for the relevant scheme", + ": Setting .host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port", + ": Setting .host = 'example.com:80' Port number is removed if new port is scheme default and existing URL has a non-default port", + ": Setting .host = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .host = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .host = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com:8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .host = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .host = 'example.com:65535' Port numbers are 16 bit integers", + ": Setting .host = 'example.com:65535' Port numbers are 16 bit integers", + ": Setting .host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.", + ": Setting .host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though.", + ": Setting .host = '[google.com]' Broken IPv6", + ": Setting .host = '[google.com]' Broken IPv6", + ": Setting .host = '[::1.2.3.4x]'", + ": Setting .host = '[::1.2.3.4x]'", + ": Setting .host = '[::1.2.3.]'", + ": Setting .host = '[::1.2.3.]'", + ": Setting .host = '[::1.2.]'", + ": Setting .host = '[::1.2.]'", + ": Setting .host = '[::1.]'", + ": Setting .host = '[::1.]'", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = '///bad.com' Leading / is not stripped", + ": Setting .host = 'a%C2%ADb'", + ": Setting .host = 'a%C2%ADb'", + ": Setting .host = '­'", + ": Setting .host = '­'", + ": Setting .host = '%C2%AD'", + ": Setting .host = '%C2%AD'", + ": Setting .host = 'xn--'", + ": Setting .host = 'xn--'", + ": Setting .hostname = '\u0000' Non-special scheme", + ": Setting .hostname = '\u0000' Non-special scheme", + ": Setting .hostname = '\t'", + ": Setting .hostname = '\t'", + ": Setting .hostname = '\n'", + ": Setting .hostname = '\n'", + ": Setting .hostname = '\r'", + ": Setting .hostname = '\r'", + ": Setting .hostname = ' '", + ": Setting .hostname = ' '", + ": Setting .hostname = '#'", + ": Setting .hostname = '#'", + ": Setting .hostname = '/'", + ": Setting .hostname = '/'", + ": Setting .hostname = '?'", + ": Setting .hostname = '?'", + ": Setting .hostname = '@'", + ": Setting .hostname = '@'", + ": Setting .hostname = 'example.net' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.net' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.com'", + ": Setting .hostname = 'example.com'", + ": Setting .hostname = '' The empty host is not valid for special schemes", + ": Setting .hostname = '' The empty host is not valid for special schemes", + ": Setting .hostname = '' The empty host is OK for non-special schemes", + ": Setting .hostname = '' The empty host is OK for non-special schemes", + ": Setting .hostname = 'example.net' Path-only URLs can gain a host", + ": Setting .hostname = 'example.net' Path-only URLs can gain a host", + ": Setting .hostname = '0x7F000001' IPv4 address syntax is normalized", + ": Setting .hostname = '0x7F000001' IPv4 address syntax is normalized", + ": Setting .hostname = '[::0:01]' IPv6 address syntax is normalized", + ": Setting .hostname = '[::0:01]' IPv6 address syntax is normalized", + ": Setting .hostname = 'example.com:8080' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com:8080' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com:' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com:' : delimiter invalidates entire value", + ": Setting .hostname = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .hostname = 'example.com/stuff' Stuff after a / delimiter is ignored", + ": Setting .hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored", + ": Setting .hostname = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .hostname = 'example.com#stuff' Stuff after a # delimiter is ignored", + ": Setting .hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .hostname = 'example.com\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .hostname = 'example.com\\stuff' \\ is not a delimiter for non-special schemes, but still forbidden in hosts", + ": Setting .hostname = '[google.com]' Broken IPv6", + ": Setting .hostname = '[google.com]' Broken IPv6", + ": Setting .hostname = '[::1.2.3.4x]'", + ": Setting .hostname = '[::1.2.3.4x]'", + ": Setting .hostname = '[::1.2.3.]'", + ": Setting .hostname = '[::1.2.3.]'", + ": Setting .hostname = '[::1.2.]'", + ": Setting .hostname = '[::1.2.]'", + ": Setting .hostname = '[::1.]'", + ": Setting .hostname = '[::1.]'", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = 'h' Drop /. from path", + ": Setting .hostname = 'h' Drop /. from path", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = '///bad.com' Leading / is not stripped", + ": Setting .hostname = 'a%C2%ADb'", + ": Setting .hostname = 'a%C2%ADb'", + ": Setting .hostname = '­'", + ": Setting .hostname = '­'", + ": Setting .hostname = '%C2%AD'", + ": Setting .hostname = '%C2%AD'", + ": Setting .hostname = 'xn--'", + ": Setting .hostname = 'xn--'", + ": Setting .port = '8080'", + ": Setting .port = '8080'", + ": Setting .port = '' Port number is removed if empty is the new value", + ": Setting .port = '' Port number is removed if empty is the new value", + ": Setting .port = '80' Default port number is removed", + ": Setting .port = '80' Default port number is removed", + ": Setting .port = '443' Default port number is removed", + ": Setting .port = '443' Default port number is removed", + ": Setting .port = '80' Default port number is only removed for the relevant scheme", + ": Setting .port = '80' Default port number is only removed for the relevant scheme", + ": Setting .port = '8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .port = '8080/stuff' Stuff after a / delimiter is ignored", + ": Setting .port = '8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .port = '8080?stuff' Stuff after a ? delimiter is ignored", + ": Setting .port = '8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .port = '8080#stuff' Stuff after a # delimiter is ignored", + ": Setting .port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .port = '8080\\stuff' Stuff after a \\ delimiter is ignored for special schemes", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error", + ": Setting .port = '65535' Port numbers are 16 bit integers", + ": Setting .port = '65535' Port numbers are 16 bit integers", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = 'randomstring' Setting port to a string that doesn't parse as a number", + ": Setting .port = 'randomstring' Setting port to a string that doesn't parse as a number", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = '65536' Port numbers are 16 bit integers, overflowing is an error", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '\t8080' Leading u0009 on special scheme", + ": Setting .port = '\t8080' Leading u0009 on special scheme", + ": Setting .port = '\t8080' Leading u0009 on non-special scheme", + ": Setting .port = '\t8080' Leading u0009 on non-special scheme", + ": Setting .port = '4wpt' Should use all ascii prefixed characters as port", + ": Setting .port = '4wpt' Should use all ascii prefixed characters as port", + ": Setting .pathname = 'new value'", + ": Setting .pathname = 'new value'", + ": Setting .pathname = 'new value'", + ": Setting .pathname = 'new value'", + ": Setting .pathname = '' Non-special URLs can have their paths erased", + ": Setting .pathname = '' Non-special URLs can have their paths erased", + ": Setting .pathname = '' Non-special URLs with an empty host can have their paths erased", + ": Setting .pathname = '' Non-special URLs with an empty host can have their paths erased", + ": Setting .pathname = '' Path-only URLs cannot have their paths erased", + ": Setting .pathname = '' Path-only URLs cannot have their paths erased", + ": Setting .pathname = 'test' Path-only URLs always have an initial slash", + ": Setting .pathname = 'test' Path-only URLs always have an initial slash", + ": Setting .pathname = '/var/log/../run/bar.socket'", + ": Setting .pathname = '/var/log/../run/bar.socket'", + ": Setting .pathname = 'home'", + ": Setting .pathname = 'home'", + ": Setting .pathname = '../home'", + ": Setting .pathname = '../home'", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is a segment delimiter for 'special' URLs", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs", + ": Setting .pathname = '\\a\\%2E\\b\\%2e.\\c' \\ is *not* a segment delimiter for non-'special' URLs", + ": Setting .pathname = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.", + ": Setting .pathname = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.", + ": Setting .pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.", + ": Setting .pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, including %2E outside dotted segments.", + ": Setting .pathname = '?' ? needs to be encoded", + ": Setting .pathname = '?' ? needs to be encoded", + ": Setting .pathname = '#' # needs to be encoded", + ": Setting .pathname = '#' # needs to be encoded", + ": Setting .pathname = '?' ? needs to be encoded, non-special scheme", + ": Setting .pathname = '?' ? needs to be encoded, non-special scheme", + ": Setting .pathname = '#' # needs to be encoded, non-special scheme", + ": Setting .pathname = '#' # needs to be encoded, non-special scheme", + ": Setting .pathname = '/?é' ? doesn't mess up encoding", + ": Setting .pathname = '/?é' ? doesn't mess up encoding", + ": Setting .pathname = '/#é' # doesn't mess up encoding", + ": Setting .pathname = '/#é' # doesn't mess up encoding", + ": Setting .pathname = '/.//p' Serialize /. in path", + ": Setting .pathname = '/.//p' Serialize /. in path", + ": Setting .pathname = '/..//p'", + ": Setting .pathname = '/..//p'", + ": Setting .pathname = '//p'", + ": Setting .pathname = '//p'", + ": Setting .pathname = 'p' Drop /. from path", + ": Setting .pathname = 'p' Drop /. from path", + ": Setting .pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", + ": Setting .pathname = 'space ' Non-special URLs with non-opaque paths percent-encode U+0020", + ": Setting .pathname = 'space '", + ": Setting .pathname = 'space '", + ": Setting .pathname = ' ' Trailing space should be encoded", + ": Setting .pathname = ' ' Trailing space should be encoded", + ": Setting .pathname = '\u0000' Trailing C0 control should be encoded", + ": Setting .pathname = '\u0000' Trailing C0 control should be encoded", + ": Setting .search = 'lang=fr'", + ": Setting .search = 'lang=fr'", + ": Setting .search = 'lang=fr'", + ": Setting .search = 'lang=fr'", + ": Setting .search = '?lang=fr'", + ": Setting .search = '?lang=fr'", + ": Setting .search = '??lang=fr'", + ": Setting .search = '??lang=fr'", + ": Setting .search = '?'", + ": Setting .search = '?'", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.", + ": Setting .search = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.", + ": Setting .search = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .search = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .search = '' Drop trailing spaces from trailing opaque paths", + ": Setting .search = '' Drop trailing spaces from trailing opaque paths", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .search = ''", + ": Setting .search = ''", + ": Setting .search = ' ' Trailing space should be encoded", + ": Setting .search = ' ' Trailing space should be encoded", + ": Setting .search = '\u0000' Trailing C0 control should be encoded", + ": Setting .search = '\u0000' Trailing C0 control should be encoded", + ": Setting .hash = 'main'", + ": Setting .hash = 'main'", + ": Setting .hash = 'main'", + ": Setting .hash = 'main'", + ": Setting .hash = '##nav'", + ": Setting .hash = '##nav'", + ": Setting .hash = '#main'", + ": Setting .hash = '#main'", + ": Setting .hash = '#'", + ": Setting .hash = '#'", + ": Setting .hash = ''", + ": Setting .hash = ''", + ": Setting .hash = '#foo bar'", + ": Setting .hash = '#foo bar'", + ": Setting .hash = '#foo\"bar'", + ": Setting .hash = '#foo\"bar'", + ": Setting .hash = '#foo: Setting .hash = '#foo: Setting .hash = '#foo>bar'", + ": Setting .hash = '#foo>bar'", + ": Setting .hash = '#foo`bar'", + ": Setting .hash = '#foo`bar'", + ": Setting .hash = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed", + ": Setting .hash = '\u0000\u0001\t\n\r\u001f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~€Éé' Simple percent-encoding; tabs and newlines are removed", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = 'a\u0000b' Percent-encode NULLs in fragment", + ": Setting .hash = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .hash = '%c3%89té' Bytes already percent-encoded are left as-is", + ": Setting .hash = '' Drop trailing spaces from trailing opaque paths", + ": Setting .hash = '' Drop trailing spaces from trailing opaque paths", + ": Setting .hash = ''", + ": Setting .hash = ''", + ": Setting .hash = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .hash = '' Do not drop trailing spaces from non-trailing opaque paths", + ": Setting .hash = ''", + ": Setting .hash = ''", + ": Setting .hash = ' ' Trailing space should be encoded", + ": Setting .hash = ' ' Trailing space should be encoded", + ": Setting .hash = '\u0000' Trailing C0 control should be encoded", + ": Setting .hash = '\u0000' Trailing C0 control should be encoded" + ], + "url-setters-a-area.window.html?include=file": [ + ": Setting .protocol = 'http' Can’t switch from file URL with no host", + ": Setting .protocol = 'http' Can’t switch from file URL with no host", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'https'", + ": Setting .protocol = 'wss'", + ": Setting .protocol = 'wss'", + ": Setting .protocol = 's'", + ": Setting .protocol = 's'", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'me' No host means no username", + ": Setting .username = 'test'", + ": Setting .username = 'test'", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'secret' No host means no password", + ": Setting .password = 'test'", + ": Setting .password = 'test'", + ": Setting .host = 'x:123'", + ": Setting .host = 'x:123'", + ": Setting .host = 'loc%41lhost'", + ": Setting .host = 'loc%41lhost'", + ": Setting .host = ''", + ": Setting .host = ''", + ": Setting .hostname = 'x:123'", + ": Setting .hostname = 'x:123'", + ": Setting .hostname = 'loc%41lhost'", + ": Setting .hostname = 'loc%41lhost'", + ": Setting .hostname = ''", + ": Setting .hostname = ''", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .pathname = '' Special URLs cannot have their paths erased", + ": Setting .pathname = '' Special URLs cannot have their paths erased", + ": Setting .pathname = '\\\\' File URLs and (back)slashes", + ": Setting .pathname = '\\\\' File URLs and (back)slashes", + ": Setting .pathname = '//\\/' File URLs and (back)slashes", + ": Setting .pathname = '//\\/' File URLs and (back)slashes", + ": Setting .pathname = '//monkey/..//' File URLs and (back)slashes", + ": Setting .pathname = '//monkey/..//' File URLs and (back)slashes", + ": Setting .href = 'http://0300.168.0xF0'", + ": Setting .href = 'http://0300.168.0xF0'" + ], + "url-setters-a-area.window.html?include=javascript": [ + ": Setting .protocol = 'defuse'", + ": Setting .protocol = 'defuse'", + ": Setting .username = 'wario'", + ": Setting .username = 'wario'", + ": Setting .username = 'wario'", + ": Setting .username = 'wario'", + ": Setting .password = 'bowser'", + ": Setting .password = 'bowser'", + ": Setting .port = '12'", + ": Setting .port = '12'", + ": Setting .hash = 'castle'", + ": Setting .hash = 'castle'" + ], + "url-setters-a-area.window.html?include=mailto": [ + ": Setting .protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.", + ": Setting .protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must.", + ": Setting .username = 'me' Cannot-be-a-base means no username", + ": Setting .username = 'me' Cannot-be-a-base means no username", + ": Setting .password = 'secret' Cannot-be-a-base means no password", + ": Setting .password = 'secret' Cannot-be-a-base means no password", + ": Setting .host = 'example.com' Cannot-be-a-base means no host", + ": Setting .host = 'example.com' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.com' Cannot-be-a-base means no host", + ": Setting .hostname = 'example.com' Cannot-be-a-base means no host", + ": Setting .pathname = '/foo' Opaque paths cannot be set", + ": Setting .pathname = '/foo' Opaque paths cannot be set" + ], + "url-setters.any.html?exclude=(file|javascript|mailto)": [ + "URL: Setting .hostname = 'example.com:8080' : delimiter invalidates entire value", + "URL: Setting .hostname = 'example.com:' : delimiter invalidates entire value", + "URL: Setting .hostname = 'h' Drop /. from path", + "URL: Setting .hostname = ''", + "URL: Setting .port = 'randomstring' Setting port to a string that doesn't parse as a number", + "URL: Setting .pathname = '' Non-special URLs can have their paths erased", + "URL: Setting .pathname = '' Non-special URLs with an empty host can have their paths erased", + "URL: Setting .pathname = '/.//p' Serialize /. in path", + "URL: Setting .pathname = '/..//p'", + "URL: Setting .pathname = '//p'", + "URL: Setting .pathname = 'p' Drop /. from path", + "URL: Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + "URL: Setting .search = ''" + ], + "url-setters.any.html?include=file": [ + "URL: Setting .pathname = '\\\\' File URLs and (back)slashes", + "URL: Setting .pathname = '//\\/' File URLs and (back)slashes", + "URL: Setting .pathname = '//monkey/..//' File URLs and (back)slashes" + ], + "url-setters.any.html?include=javascript": true, + "url-setters.any.html?include=mailto": true, + "url-setters.any.worker.html?exclude=(file|javascript|mailto)": [ + "URL: Setting .hostname = 'example.com:8080' : delimiter invalidates entire value", + "URL: Setting .hostname = 'example.com:' : delimiter invalidates entire value", + "URL: Setting .hostname = 'h' Drop /. from path", + "URL: Setting .hostname = ''", + "URL: Setting .port = 'randomstring' Setting port to a string that doesn't parse as a number", + "URL: Setting .pathname = '' Non-special URLs can have their paths erased", + "URL: Setting .pathname = '' Non-special URLs with an empty host can have their paths erased", + "URL: Setting .pathname = '/.//p' Serialize /. in path", + "URL: Setting .pathname = '/..//p'", + "URL: Setting .pathname = '//p'", + "URL: Setting .pathname = 'p' Drop /. from path", + "URL: Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths", + "URL: Setting .search = ''" + ], + "url-setters.any.worker.html?include=file": [ + "URL: Setting .pathname = '\\\\' File URLs and (back)slashes", + "URL: Setting .pathname = '//\\/' File URLs and (back)slashes", + "URL: Setting .pathname = '//monkey/..//' File URLs and (back)slashes" + ], + "url-setters.any.worker.html?include=javascript": true, + "url-setters.any.worker.html?include=mailto": true, + "url-statics-canparse.any.html": true, + "url-statics-canparse.any.worker.html": true, + "urlsearchparams-size.any.worker.html": true + }, + "fetch": { + "api": { + "request": { + "request-init-002.any.html": true, + "request-init-002.any.worker.html": true, + "request-init-stream.any.html": [ + "It is error to omit .duplex when the body is a ReadableStream.", + "It is error to set .duplex = 'full' when the body is null.", + "It is error to set .duplex = 'full' when the body is a string.", + "It is error to set .duplex = 'full' when the body is a Uint8Array.", + "It is error to set .duplex = 'full' when the body is a Blob.", + "It is error to set .duplex = 'full' when the body is a ReadableStream." + ], + "request-init-stream.any.worker.html": [ + "It is error to omit .duplex when the body is a ReadableStream.", + "It is error to set .duplex = 'full' when the body is null.", + "It is error to set .duplex = 'full' when the body is a string.", + "It is error to set .duplex = 'full' when the body is a Uint8Array.", + "It is error to set .duplex = 'full' when the body is a Blob.", + "It is error to set .duplex = 'full' when the body is a ReadableStream." + ], + "request-consume-empty.any.html": [ + "Consume empty FormData request body as text" + ], + "request-consume-empty.any.worker.html": [ + "Consume empty FormData request body as text" + ], + "request-consume.any.html": true, + "request-consume.any.worker.html": true, + "request-disturbed.any.html": [ + "Input request used for creating new request became disturbed even if body is not used" + ], + "request-disturbed.any.worker.html": [ + "Input request used for creating new request became disturbed even if body is not used" + ], + "request-error.any.html": [ + "RequestInit's window is not null", + "Input URL has credentials", + "RequestInit's mode is navigate", + "RequestInit's referrer is invalid", + "RequestInit's mode is no-cors and method is not simple", + "RequestInit's cache mode is only-if-cached and mode is not same-origin", + "Request with cache mode: only-if-cached and fetch mode cors", + "Request with cache mode: only-if-cached and fetch mode no-cors", + "Bad referrerPolicy init parameter value", + "Bad mode init parameter value", + "Bad credentials init parameter value", + "Bad cache init parameter value" + ], + "request-error.any.worker.html": [ + "RequestInit's window is not null", + "Input URL has credentials", + "RequestInit's mode is navigate", + "RequestInit's referrer is invalid", + "RequestInit's mode is no-cors and method is not simple", + "RequestInit's cache mode is only-if-cached and mode is not same-origin", + "Request with cache mode: only-if-cached and fetch mode cors", + "Request with cache mode: only-if-cached and fetch mode no-cors", + "Bad referrerPolicy init parameter value", + "Bad mode init parameter value", + "Bad credentials init parameter value", + "Bad cache init parameter value" + ], + "request-headers.any.html": [ + "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 \"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-headers.any.worker.html": [ + "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 \"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-contenttype.any.html": true, + "request-init-contenttype.any.worker.html": true, + "request-structure.any.html": [ + "Check destination attribute", + "Check referrer attribute", + "Check referrerPolicy attribute", + "Check mode attribute", + "Check credentials attribute", + "Check cache attribute", + "Check integrity attribute", + "Check isReloadNavigation attribute", + "Check isHistoryNavigation attribute", + "Check duplex attribute" + ], + "request-structure.any.worker.html": [ + "Check destination attribute", + "Check referrer attribute", + "Check referrerPolicy attribute", + "Check mode attribute", + "Check credentials attribute", + "Check cache attribute", + "Check integrity attribute", + "Check isReloadNavigation attribute", + "Check isHistoryNavigation attribute", + "Check duplex attribute" + ], + "forbidden-method.any.html": true, + "forbidden-method.any.worker.html": true, + "request-bad-port.any.html": false, + "request-bad-port.any.worker.html": false, + "request-cache-default-conditional.any.html": true, + "request-cache-default-conditional.any.worker.html": true, + "request-cache-default.any.html": [ + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Etag and fresh response", + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Last-Modified and fresh response" + ], + "request-cache-default.any.worker.html": [ + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Etag and fresh response", + "RequestCache \"default\" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Last-Modified and fresh response" + ], + "request-cache-force-cache.any.html": [ + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Etag and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Last-Modified and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Etag and fresh response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Last-Modified and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Etag and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Last-Modified and fresh response" + ], + "request-cache-force-cache.any.worker.html": [ + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Etag and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for stale responses with Last-Modified and stale response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Etag and fresh response", + "RequestCache \"force-cache\" mode checks the cache for previously cached content and avoid revalidation for fresh responses with Last-Modified and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Etag and fresh response", + "RequestCache \"force-cache\" stores the response in the cache if it goes to the network with Last-Modified and fresh response" + ], + "request-cache-no-cache.any.html": true, + "request-cache-no-cache.any.worker.html": true, + "request-cache-no-store.any.html": true, + "request-cache-no-store.any.worker.html": true, + "request-cache-only-if-cached.any.html": false, + "request-cache-only-if-cached.any.worker.html": false, + "request-cache-reload.any.html": [ + "RequestCache \"reload\" mode does store the response in the cache with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache with Last-Modified and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Last-Modified and fresh response" + ], + "request-cache-reload.any.worker.html": [ + "RequestCache \"reload\" mode does store the response in the cache with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache with Last-Modified and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Etag and fresh response", + "RequestCache \"reload\" mode does store the response in the cache even if a previous response is already stored with Last-Modified and fresh response" + ], + "request-init-priority.any.html": [ + "new Request() throws a TypeError if any of RequestInit's members' values are invalid", + "fetch() with an invalid priority returns a rejected promise with a TypeError" + ], + "request-init-priority.any.worker.html": [ + "new Request() throws a TypeError if any of RequestInit's members' values are invalid", + "fetch() with an invalid priority returns a rejected promise with a TypeError" + ], + "request-keepalive.any.html": false, + "request-keepalive.any.worker.html": false + }, + "headers": { + "header-values-normalize.any.html": [ + "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-normalize.any.worker.html": [ + "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.html": [ + "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" + ], + "header-values.any.worker.html": [ + "fetch() with all valid values" + ], + "headers-basic.any.html": true, + "headers-casing.any.html": true, + "headers-combine.any.html": true, + "headers-errors.any.html": true, + "headers-normalize.any.html": true, + "headers-record.any.html": true, + "headers-structure.any.html": true, + "headers-basic.any.worker.html": true, + "headers-casing.any.worker.html": true, + "headers-combine.any.worker.html": true, + "headers-errors.any.worker.html": true, + "headers-no-cors.any.html": [ + "\"no-cors\" Headers object cannot have accept set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have accept-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have content-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have accept set to , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have accept-language set to , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have content-language set to , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have content-type set to text/plain;ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, text/plain", + "\"no-cors\" Headers object cannot have accept/\" as header", + "\"no-cors\" Headers object cannot have accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 as header", + "\"no-cors\" Headers object cannot have accept-language/\u0001 as header", + "\"no-cors\" Headers object cannot have accept-language/@ as header", + "\"no-cors\" Headers object cannot have authorization/basics as header", + "\"no-cors\" Headers object cannot have content-language/\u0001 as header", + "\"no-cors\" Headers object cannot have content-language/@ as header", + "\"no-cors\" Headers object cannot have content-type/text/html as header", + "\"no-cors\" Headers object cannot have content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 as header", + "\"no-cors\" Headers object cannot have range/bytes 0- as header", + "\"no-cors\" Headers object cannot have test/hi as header", + "\"no-cors\" Headers object cannot have dpr/2 as header", + "\"no-cors\" Headers object cannot have rtt/1.0 as header", + "\"no-cors\" Headers object cannot have downlink/-1.0 as header", + "\"no-cors\" Headers object cannot have ect/6g as header", + "\"no-cors\" Headers object cannot have save-data/on as header", + "\"no-cors\" Headers object cannot have viewport-width/100 as header", + "\"no-cors\" Headers object cannot have width/100 as header", + "\"no-cors\" Headers object cannot have unknown/doesitmatter as header" + ], + "headers-no-cors.any.worker.html": [ + "\"no-cors\" Headers object cannot have accept set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have accept-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have content-language set to sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have accept set to , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have accept-language set to , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have content-language set to , sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss", + "\"no-cors\" Headers object cannot have content-type set to text/plain;ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss, text/plain", + "\"no-cors\" Headers object cannot have accept/\" as header", + "\"no-cors\" Headers object cannot have accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 as header", + "\"no-cors\" Headers object cannot have accept-language/\u0001 as header", + "\"no-cors\" Headers object cannot have accept-language/@ as header", + "\"no-cors\" Headers object cannot have authorization/basics as header", + "\"no-cors\" Headers object cannot have content-language/\u0001 as header", + "\"no-cors\" Headers object cannot have content-language/@ as header", + "\"no-cors\" Headers object cannot have content-type/text/html as header", + "\"no-cors\" Headers object cannot have content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 as header", + "\"no-cors\" Headers object cannot have range/bytes 0- as header", + "\"no-cors\" Headers object cannot have test/hi as header", + "\"no-cors\" Headers object cannot have dpr/2 as header", + "\"no-cors\" Headers object cannot have rtt/1.0 as header", + "\"no-cors\" Headers object cannot have downlink/-1.0 as header", + "\"no-cors\" Headers object cannot have ect/6g as header", + "\"no-cors\" Headers object cannot have save-data/on as header", + "\"no-cors\" Headers object cannot have viewport-width/100 as header", + "\"no-cors\" Headers object cannot have width/100 as header", + "\"no-cors\" Headers object cannot have unknown/doesitmatter as header" + ], + "headers-normalize.any.worker.html": true, + "headers-record.any.worker.html": true, + "headers-structure.any.worker.html": true, + "header-setcookie.any.html": [ + "Set-Cookie is a forbidden response header" + ], + "header-setcookie.any.worker.html": [ + "Set-Cookie is a forbidden response header" + ] + }, + "basic": { + "request-head.any.html": true, + "request-head.any.worker.html": true, + "request-headers-case.any.html": false, + "request-headers-case.any.worker.html": false, + "request-headers-nonascii.any.html": true, + "request-headers-nonascii.any.worker.html": true, + "request-headers.any.html": [ + "Fetch with PUT without body", + "Fetch with PUT with body", + "Fetch with POST without body", + "Fetch with POST with text body", + "Fetch with POST with FormData body", + "Fetch with POST with URLSearchParams body", + "Fetch with POST with Blob body", + "Fetch with POST with ArrayBuffer body", + "Fetch with POST with Uint8Array body", + "Fetch with POST with Int8Array body", + "Fetch with POST with Float32Array body", + "Fetch with POST with Float64Array body", + "Fetch with POST with DataView body", + "Fetch with POST with Blob body with mime type", + "Fetch with Chicken", + "Fetch with Chicken with body", + "Fetch with POST and mode \"same-origin\" needs an Origin header", + "Fetch with POST and mode \"no-cors\" needs an Origin header", + "Fetch with PUT and mode \"same-origin\" needs an Origin header", + "Fetch with TacO and mode \"same-origin\" needs an Origin header", + "Fetch with TacO and mode \"cors\" needs an Origin header" + ], + "request-headers.any.worker.html": [ + "Fetch with PUT without body", + "Fetch with PUT with body", + "Fetch with POST without body", + "Fetch with POST with text body", + "Fetch with POST with FormData body", + "Fetch with POST with URLSearchParams body", + "Fetch with POST with Blob body", + "Fetch with POST with ArrayBuffer body", + "Fetch with POST with Uint8Array body", + "Fetch with POST with Int8Array body", + "Fetch with POST with Float32Array body", + "Fetch with POST with Float64Array body", + "Fetch with POST with DataView body", + "Fetch with POST with Blob body with mime type", + "Fetch with Chicken", + "Fetch with Chicken with body", + "Fetch with POST and mode \"same-origin\" needs an Origin header", + "Fetch with POST and mode \"no-cors\" needs an Origin header", + "Fetch with PUT and mode \"same-origin\" needs an Origin header", + "Fetch with TacO and mode \"same-origin\" needs an Origin header", + "Fetch with TacO and mode \"cors\" needs an Origin header" + ], + "text-utf8.any.html": true, + "text-utf8.any.worker.html": true, + "accept-header.any.html": true, + "accept-header.any.worker.html": true, + "conditional-get.any.html": false, + "conditional-get.any.worker.html": false, + "header-value-combining.any.html": false, + "header-value-combining.any.worker.html": false, + "header-value-null-byte.any.html": true, + "header-value-null-byte.any.worker.html": true, + "historical.any.html": true, + "historical.any.worker.html": true, + "http-response-code.any.html": true, + "http-response-code.any.worker.html": true, + "response-url.sub.any.html": true, + "response-url.sub.any.worker.html": true, + "scheme-about.any.html": true, + "scheme-about.any.worker.html": true, + "scheme-blob.sub.any.html": [ + "Fetching URL.createObjectURL(invalid_type_blob) is OK" + ], + "scheme-blob.sub.any.worker.html": [ + "Fetching URL.createObjectURL(invalid_type_blob) is OK" + ], + "scheme-data.any.html": true, + "scheme-data.any.worker.html": true, + "scheme-others.sub.any.html": true, + "scheme-others.sub.any.worker.html": true, + "stream-response.any.html": true, + "stream-response.any.worker.html": true, + "stream-safe-creation.any.html": [ + "throwing Object.prototype.start accessor should not affect stream creation by 'fetch'", + "Object.prototype.start accessor returning invalid value should not affect stream creation by 'fetch'" + ], + "stream-safe-creation.any.worker.html": [ + "throwing Object.prototype.start accessor should not affect stream creation by 'fetch'", + "Object.prototype.start accessor returning invalid value should not affect stream creation by 'fetch'" + ], + "integrity.sub.any.html": [ + "Invalid integrity", + "Multiple integrities: invalid stronger than valid", + "Multiple integrities: both are invalid", + "CORS invalid integrity", + "Empty string integrity for opaque response", + "SHA-* integrity for opaque response" + ], + "integrity.sub.any.worker.html": [ + "Invalid integrity", + "Multiple integrities: invalid stronger than valid", + "Multiple integrities: both are invalid", + "CORS invalid integrity", + "Empty string integrity for opaque response", + "SHA-* integrity for opaque response" + ], + "error-after-response.any.worker.html": false, + "keepalive.any.html": false, + "mediasource.window.html": false, + "mode-same-origin.any.html": [ + "Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode" + ], + "mode-same-origin.any.worker.html": [ + "Fetch https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=https://web-platform.test:8443/fetch/api/resources/top.txt with same-origin mode", + "Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.web-platform.test:8000/fetch/api/resources/top.txt with same-origin mode" + ], + "referrer.any.html": false, + "referrer.any.worker.html": false, + "request-forbidden-headers.any.html": [ + "Accept-Charset is a forbidden request header", + "Accept-Encoding is a forbidden request header", + "Access-Control-Request-Headers is a forbidden request header", + "Access-Control-Request-Method is a forbidden request header", + "Connection is a forbidden request header", + "Cookie is a forbidden request header", + "Cookie2 is a forbidden request header", + "Date is a forbidden request header", + "DNT is a forbidden request header", + "Expect is a forbidden request header", + "Keep-Alive is a forbidden request header", + "Origin is a forbidden request header", + "Referer is a forbidden request header", + "TE is a forbidden request header", + "Trailer is a forbidden request header", + "Upgrade is a forbidden request header", + "Via is a forbidden request header", + "Proxy- is a forbidden request header", + "Proxy-Test is a forbidden request header", + "Sec- is a forbidden request header", + "Sec-Test is a forbidden request header", + "header x-http-method-override is forbidden to use value TRACE", + "header x-http-method is forbidden to use value TRACE", + "header x-method-override is forbidden to use value TRACE", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACE", + "header X-HTTP-METHOD is forbidden to use value TRACE", + "header X-METHOD-OVERRIDE is forbidden to use value TRACE", + "header x-http-method-override is forbidden to use value TRACK", + "header x-http-method is forbidden to use value TRACK", + "header x-method-override is forbidden to use value TRACK", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACK", + "header X-HTTP-METHOD is forbidden to use value TRACK", + "header X-METHOD-OVERRIDE is forbidden to use value TRACK", + "header x-http-method-override is forbidden to use value CONNECT", + "header x-http-method is forbidden to use value CONNECT", + "header x-method-override is forbidden to use value CONNECT", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header X-HTTP-METHOD is forbidden to use value CONNECT", + "header X-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header x-http-method-override is forbidden to use value trace", + "header x-http-method is forbidden to use value trace", + "header x-method-override is forbidden to use value trace", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace", + "header X-HTTP-METHOD is forbidden to use value trace", + "header X-METHOD-OVERRIDE is forbidden to use value trace", + "header x-http-method-override is forbidden to use value track", + "header x-http-method is forbidden to use value track", + "header x-method-override is forbidden to use value track", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value track", + "header X-HTTP-METHOD is forbidden to use value track", + "header X-METHOD-OVERRIDE is forbidden to use value track", + "header x-http-method-override is forbidden to use value connect", + "header x-http-method is forbidden to use value connect", + "header x-method-override is forbidden to use value connect", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value connect", + "header X-HTTP-METHOD is forbidden to use value connect", + "header X-METHOD-OVERRIDE is forbidden to use value connect", + "header x-http-method-override is forbidden to use value trace,", + "header x-http-method is forbidden to use value trace,", + "header x-method-override is forbidden to use value trace,", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace,", + "header X-HTTP-METHOD is forbidden to use value trace,", + "header X-METHOD-OVERRIDE is forbidden to use value trace," + ], + "request-forbidden-headers.any.worker.html": [ + "Accept-Charset is a forbidden request header", + "Accept-Encoding is a forbidden request header", + "Access-Control-Request-Headers is a forbidden request header", + "Access-Control-Request-Method is a forbidden request header", + "Connection is a forbidden request header", + "Cookie is a forbidden request header", + "Cookie2 is a forbidden request header", + "Date is a forbidden request header", + "DNT is a forbidden request header", + "Expect is a forbidden request header", + "Keep-Alive is a forbidden request header", + "Origin is a forbidden request header", + "Referer is a forbidden request header", + "TE is a forbidden request header", + "Trailer is a forbidden request header", + "Upgrade is a forbidden request header", + "Via is a forbidden request header", + "Proxy- is a forbidden request header", + "Proxy-Test is a forbidden request header", + "Sec- is a forbidden request header", + "Sec-Test is a forbidden request header", + "header x-http-method-override is forbidden to use value TRACE", + "header x-http-method is forbidden to use value TRACE", + "header x-method-override is forbidden to use value TRACE", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACE", + "header X-HTTP-METHOD is forbidden to use value TRACE", + "header X-METHOD-OVERRIDE is forbidden to use value TRACE", + "header x-http-method-override is forbidden to use value TRACK", + "header x-http-method is forbidden to use value TRACK", + "header x-method-override is forbidden to use value TRACK", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value TRACK", + "header X-HTTP-METHOD is forbidden to use value TRACK", + "header X-METHOD-OVERRIDE is forbidden to use value TRACK", + "header x-http-method-override is forbidden to use value CONNECT", + "header x-http-method is forbidden to use value CONNECT", + "header x-method-override is forbidden to use value CONNECT", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header X-HTTP-METHOD is forbidden to use value CONNECT", + "header X-METHOD-OVERRIDE is forbidden to use value CONNECT", + "header x-http-method-override is forbidden to use value trace", + "header x-http-method is forbidden to use value trace", + "header x-method-override is forbidden to use value trace", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace", + "header X-HTTP-METHOD is forbidden to use value trace", + "header X-METHOD-OVERRIDE is forbidden to use value trace", + "header x-http-method-override is forbidden to use value track", + "header x-http-method is forbidden to use value track", + "header x-method-override is forbidden to use value track", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value track", + "header X-HTTP-METHOD is forbidden to use value track", + "header X-METHOD-OVERRIDE is forbidden to use value track", + "header x-http-method-override is forbidden to use value connect", + "header x-http-method is forbidden to use value connect", + "header x-method-override is forbidden to use value connect", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value connect", + "header X-HTTP-METHOD is forbidden to use value connect", + "header X-METHOD-OVERRIDE is forbidden to use value connect", + "header x-http-method-override is forbidden to use value trace,", + "header x-http-method is forbidden to use value trace,", + "header x-method-override is forbidden to use value trace,", + "header X-HTTP-METHOD-OVERRIDE is forbidden to use value trace,", + "header X-HTTP-METHOD is forbidden to use value trace,", + "header X-METHOD-OVERRIDE is forbidden to use value trace," + ], + "request-referrer.any.html": false, + "request-referrer.any.worker.html": false, + "error-after-response.any.html": false, + "mode-no-cors.sub.any.html": { + "ignore": true + }, + "mode-no-cors.sub.any.worker.html": { + "ignore": true + }, + "request-private-network-headers.tentative.any.html": false, + "request-private-network-headers.tentative.any.worker.html": false, + "response-null-body.any.html": { + "ignore": true + }, + "response-null-body.any.worker.html": { + "ignore": true + } + }, + "response": { + "json.any.html": true, + "json.any.worker.html": true, + "response-init-001.any.html": true, + "response-init-001.any.worker.html": true, + "response-init-002.any.html": true, + "response-init-002.any.worker.html": true, + "response-static-error.any.html": true, + "response-static-error.any.worker.html": true, + "response-static-redirect.any.html": true, + "response-static-redirect.any.worker.html": true, + "response-stream-bad-chunk.any.html": true, + "response-stream-bad-chunk.any.worker.html": true, + "response-stream-disturbed-1.any.html": true, + "response-stream-disturbed-1.any.worker.html": true, + "response-stream-disturbed-2.any.html": true, + "response-stream-disturbed-2.any.worker.html": true, + "response-stream-disturbed-3.any.html": true, + "response-stream-disturbed-3.any.worker.html": true, + "response-stream-disturbed-4.any.html": true, + "response-stream-disturbed-4.any.worker.html": true, + "response-stream-disturbed-5.any.html": true, + "response-stream-disturbed-5.any.worker.html": true, + "response-stream-disturbed-6.any.html": true, + "response-stream-disturbed-6.any.worker.html": true, + "response-stream-disturbed-by-pipe.any.html": true, + "response-stream-disturbed-by-pipe.any.worker.html": true, + "response-stream-with-broken-then.any.html": [ + "Attempt to inject {done: false, value: bye} via Object.prototype.then.", + "Attempt to inject value: undefined via Object.prototype.then.", + "Attempt to inject undefined via Object.prototype.then.", + "Attempt to inject 8.2 via Object.prototype.then.", + "intercepting arraybuffer to text conversion via Object.prototype.then should not be possible" + ], + "response-stream-with-broken-then.any.worker.html": [ + "Attempt to inject {done: false, value: bye} via Object.prototype.then.", + "Attempt to inject value: undefined via Object.prototype.then.", + "Attempt to inject undefined via Object.prototype.then.", + "Attempt to inject 8.2 via Object.prototype.then.", + "intercepting arraybuffer to text conversion via Object.prototype.then should not be possible" + ], + "response-error-from-stream.any.html": true, + "response-error-from-stream.any.worker.html": true, + "response-error.any.html": true, + "response-error.any.worker.html": true, + "response-from-stream.any.html": true, + "response-from-stream.any.worker.html": true, + "response-cancel-stream.any.html": true, + "response-cancel-stream.any.worker.html": true, + "response-clone.any.html": true, + "response-clone.any.worker.html": true, + "response-consume-empty.any.html": [ + "Consume empty FormData response body as text" + ], + "response-consume-empty.any.worker.html": [ + "Consume empty FormData response body as text" + ], + "response-consume-stream.any.html": [ + "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", + "Reading with offset from Response stream" + ], + "response-consume-stream.any.worker.html": [ + "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", + "Reading with offset from Response stream" + ], + "response-init-contenttype.any.html": true, + "response-init-contenttype.any.worker.html": true, + "response-static-json.any.html": true, + "response-static-json.any.worker.html": true, + "response-clone-iframe.window.html": false + }, + "body": { + "formdata.any.html": true, + "formdata.any.worker.html": true, + "mime-type.any.html": [ + "Response: Extract a MIME type with clone" + ], + "mime-type.any.worker.html": [ + "Response: Extract a MIME type with clone" + ] + }, + "redirect": { + "redirect-count.any.html": true, + "redirect-count.any.worker.html": true, + "redirect-empty-location.any.html": [ + "redirect response with empty Location, manual mode" + ], + "redirect-empty-location.any.worker.html": [ + "redirect response with empty Location, manual mode" + ], + "redirect-location-escape.tentative.any.html": [ + "Redirect to unescaped UTF-8", + "Redirect to escaped and unescaped UTF-8", + "Escaping produces double-percent", + "Redirect to invalid UTF-8" + ], + "redirect-location-escape.tentative.any.worker.html": [ + "Redirect to unescaped UTF-8", + "Redirect to escaped and unescaped UTF-8", + "Escaping produces double-percent", + "Redirect to invalid UTF-8" + ], + "redirect-location.any.html": [ + "Redirect 301 in \"manual\" mode without location", + "Redirect 301 in \"manual\" mode with valid 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 valid 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 valid 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 valid 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 valid location", + "Redirect 308 in \"manual\" mode with invalid location", + "Redirect 308 in \"manual\" mode with data location" + ], + "redirect-location.any.worker.html": [ + "Redirect 301 in \"manual\" mode without location", + "Redirect 301 in \"manual\" mode with valid 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 valid 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 valid 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 valid 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 valid location", + "Redirect 308 in \"manual\" mode with invalid location", + "Redirect 308 in \"manual\" mode with data location" + ], + "redirect-method.any.html": true, + "redirect-method.any.worker.html": true, + "redirect-schemes.any.html": true, + "redirect-schemes.any.worker.html": true, + "redirect-to-dataurl.any.html": true, + "redirect-to-dataurl.any.worker.html": true, + "redirect-back-to-original-origin.any.html": false, + "redirect-back-to-original-origin.any.worker.html": false, + "redirect-keepalive.any.html": false, + "redirect-mode.any.html": [ + "same-origin redirect 301 in manual redirect and cors mode", + "same-origin redirect 301 in manual redirect and no-cors mode", + "same-origin redirect 302 in manual redirect and cors mode", + "same-origin redirect 302 in manual redirect and no-cors mode", + "same-origin redirect 303 in manual redirect and cors mode", + "same-origin redirect 303 in manual redirect and no-cors mode", + "same-origin redirect 307 in manual redirect and cors mode", + "same-origin redirect 307 in manual redirect and no-cors mode", + "same-origin redirect 308 in manual redirect and cors mode", + "same-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 301 in manual redirect and cors mode", + "cross-origin redirect 301 in manual redirect and no-cors mode", + "cross-origin redirect 301 in follow redirect and no-cors mode", + "cross-origin redirect 302 in manual redirect and cors mode", + "cross-origin redirect 302 in manual redirect and no-cors mode", + "cross-origin redirect 302 in follow redirect and no-cors mode", + "cross-origin redirect 303 in manual redirect and cors mode", + "cross-origin redirect 303 in manual redirect and no-cors mode", + "cross-origin redirect 303 in follow redirect and no-cors mode", + "cross-origin redirect 307 in manual redirect and cors mode", + "cross-origin redirect 307 in manual redirect and no-cors mode", + "cross-origin redirect 307 in follow redirect and no-cors mode", + "cross-origin redirect 308 in manual redirect and cors mode", + "cross-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 308 in follow redirect and no-cors mode", + "manual redirect with a CORS error should be rejected" + ], + "redirect-mode.any.worker.html": [ + "same-origin redirect 301 in manual redirect and cors mode", + "same-origin redirect 301 in manual redirect and no-cors mode", + "same-origin redirect 302 in manual redirect and cors mode", + "same-origin redirect 302 in manual redirect and no-cors mode", + "same-origin redirect 303 in manual redirect and cors mode", + "same-origin redirect 303 in manual redirect and no-cors mode", + "same-origin redirect 307 in manual redirect and cors mode", + "same-origin redirect 307 in manual redirect and no-cors mode", + "same-origin redirect 308 in manual redirect and cors mode", + "same-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 301 in manual redirect and cors mode", + "cross-origin redirect 301 in manual redirect and no-cors mode", + "cross-origin redirect 301 in follow redirect and no-cors mode", + "cross-origin redirect 302 in manual redirect and cors mode", + "cross-origin redirect 302 in manual redirect and no-cors mode", + "cross-origin redirect 302 in follow redirect and no-cors mode", + "cross-origin redirect 303 in manual redirect and cors mode", + "cross-origin redirect 303 in manual redirect and no-cors mode", + "cross-origin redirect 303 in follow redirect and no-cors mode", + "cross-origin redirect 307 in manual redirect and cors mode", + "cross-origin redirect 307 in manual redirect and no-cors mode", + "cross-origin redirect 307 in follow redirect and no-cors mode", + "cross-origin redirect 308 in manual redirect and cors mode", + "cross-origin redirect 308 in manual redirect and no-cors mode", + "cross-origin redirect 308 in follow redirect and no-cors mode", + "manual redirect with a CORS error should be rejected" + ], + "redirect-origin.any.html": [ + "[GET] Redirect 301 Same origin to other origin", + "[GET] Redirect 301 Other origin to other origin", + "[GET] Redirect 301 Other origin to same origin", + "[POST] Redirect 301 Same origin to other origin", + "[POST] Redirect 301 Other origin to other origin", + "[POST] Redirect 301 Other origin to same origin", + "[GET] Redirect 302 Same origin to other origin", + "[GET] Redirect 302 Other origin to other origin", + "[GET] Redirect 302 Other origin to same origin", + "[POST] Redirect 302 Same origin to other origin", + "[POST] Redirect 302 Other origin to other origin", + "[POST] Redirect 302 Other origin to same origin", + "[GET] Redirect 303 Same origin to other origin", + "[GET] Redirect 303 Other origin to other origin", + "[GET] Redirect 303 Other origin to same origin", + "[POST] Redirect 303 Same origin to other origin", + "[POST] Redirect 303 Other origin to other origin", + "[POST] Redirect 303 Other origin to same origin", + "[GET] Redirect 307 Same origin to other origin", + "[GET] Redirect 307 Other origin to other origin", + "[GET] Redirect 307 Other origin to same origin", + "[POST] Redirect 307 Same origin to other origin", + "[POST] Redirect 307 Other origin to other origin", + "[POST] Redirect 307 Other origin to same origin", + "[GET] Redirect 308 Same origin to other origin", + "[GET] Redirect 308 Other origin to other origin", + "[GET] Redirect 308 Other origin to same origin", + "[POST] Redirect 308 Same origin to other origin", + "[POST] Redirect 308 Other origin to other origin", + "[POST] Redirect 308 Other origin to same origin" + ], + "redirect-origin.any.worker.html": [ + "[GET] Redirect 301 Same origin to other origin", + "[GET] Redirect 301 Other origin to other origin", + "[GET] Redirect 301 Other origin to same origin", + "[POST] Redirect 301 Same origin to other origin", + "[POST] Redirect 301 Other origin to other origin", + "[POST] Redirect 301 Other origin to same origin", + "[GET] Redirect 302 Same origin to other origin", + "[GET] Redirect 302 Other origin to other origin", + "[GET] Redirect 302 Other origin to same origin", + "[POST] Redirect 302 Same origin to other origin", + "[POST] Redirect 302 Other origin to other origin", + "[POST] Redirect 302 Other origin to same origin", + "[GET] Redirect 303 Same origin to other origin", + "[GET] Redirect 303 Other origin to other origin", + "[GET] Redirect 303 Other origin to same origin", + "[POST] Redirect 303 Same origin to other origin", + "[POST] Redirect 303 Other origin to other origin", + "[POST] Redirect 303 Other origin to same origin", + "[GET] Redirect 307 Same origin to other origin", + "[GET] Redirect 307 Other origin to other origin", + "[GET] Redirect 307 Other origin to same origin", + "[POST] Redirect 307 Same origin to other origin", + "[POST] Redirect 307 Other origin to other origin", + "[POST] Redirect 307 Other origin to same origin", + "[GET] Redirect 308 Same origin to other origin", + "[GET] Redirect 308 Other origin to other origin", + "[GET] Redirect 308 Other origin to same origin", + "[POST] Redirect 308 Same origin to other origin", + "[POST] Redirect 308 Other origin to other origin", + "[POST] Redirect 308 Other origin to same origin" + ], + "redirect-referrer-override.any.html": [ + "Same origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, same-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Same origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin init, origin redirect header ", + "Cross origin redirection, origin init, origin redirect header ", + "Same origin redirection, origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, same-origin redirect header ", + "Same origin redirection, origin init, strict-origin redirect header ", + "Cross origin redirection, origin init, strict-origin redirect header ", + "Same origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, unsafe-url redirect header ", + "Cross origin redirection, origin init, unsafe-url redirect header ", + "Same origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, same-origin init, origin redirect header ", + "Cross origin redirection, same-origin init, origin redirect header ", + "Same origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, same-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, unsafe-url redirect header ", + "Cross origin redirection, same-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin init, origin redirect header ", + "Cross origin redirection, strict-origin init, origin redirect header ", + "Same origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, unsafe-url init, origin redirect header ", + "Cross origin redirection, unsafe-url init, origin redirect header ", + "Same origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, same-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, unsafe-url redirect header ", + "Cross origin redirection, unsafe-url init, unsafe-url redirect header " + ], + "redirect-referrer-override.any.worker.html": [ + "Same origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, same-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Cross origin redirection, no-referrer-when-downgrade init, unsafe-url redirect header ", + "Same origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin init, origin redirect header ", + "Cross origin redirection, origin init, origin redirect header ", + "Same origin redirection, origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, same-origin redirect header ", + "Same origin redirection, origin init, strict-origin redirect header ", + "Cross origin redirection, origin init, strict-origin redirect header ", + "Same origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin init, unsafe-url redirect header ", + "Cross origin redirection, origin init, unsafe-url redirect header ", + "Same origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, same-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, same-origin init, origin redirect header ", + "Cross origin redirection, same-origin init, origin redirect header ", + "Same origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, same-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin redirect header ", + "Same origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, same-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, same-origin init, unsafe-url redirect header ", + "Cross origin redirection, same-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin init, origin redirect header ", + "Cross origin redirection, strict-origin init, origin redirect header ", + "Same origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin init, unsafe-url redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, same-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Cross origin redirection, strict-origin-when-cross-origin init, unsafe-url redirect header ", + "Same origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, unsafe-url init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, unsafe-url init, origin redirect header ", + "Cross origin redirection, unsafe-url init, origin redirect header ", + "Same origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, same-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin redirect header ", + "Same origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, unsafe-url init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, unsafe-url init, unsafe-url redirect header ", + "Cross origin redirection, unsafe-url init, unsafe-url redirect header " + ], + "redirect-referrer.any.html": [ + "Same origin redirection, empty init, unsafe-url redirect header ", + "Same origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, empty init, same-origin redirect header ", + "Same origin redirection, empty init, origin redirect header ", + "Same origin redirection, empty init, origin-when-cross-origin redirect header ", + "Same origin redirection, empty init, strict-origin redirect header ", + "Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, empty redirect header, unsafe-url init ", + "Same origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Same origin redirection, empty redirect header, same-origin init ", + "Same origin redirection, empty redirect header, origin init ", + "Same origin redirection, empty redirect header, origin-when-cross-origin init ", + "Same origin redirection, empty redirect header, strict-origin init ", + "Same origin redirection, empty redirect header, strict-origin-when-cross-origin init ", + "Cross origin redirection, empty init, unsafe-url redirect header ", + "Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, empty init, origin redirect header ", + "Cross origin redirection, empty init, origin-when-cross-origin redirect header ", + "Cross origin redirection, empty init, strict-origin redirect header ", + "Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, empty redirect header, unsafe-url init ", + "Cross origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Cross origin redirection, empty redirect header, origin init ", + "Cross origin redirection, empty redirect header, origin-when-cross-origin init ", + "Cross origin redirection, empty redirect header, strict-origin init ", + "Cross origin redirection, empty redirect header, strict-origin-when-cross-origin init " + ], + "redirect-referrer.any.worker.html": [ + "Same origin redirection, empty init, unsafe-url redirect header ", + "Same origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Same origin redirection, empty init, same-origin redirect header ", + "Same origin redirection, empty init, origin redirect header ", + "Same origin redirection, empty init, origin-when-cross-origin redirect header ", + "Same origin redirection, empty init, strict-origin redirect header ", + "Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Same origin redirection, empty redirect header, unsafe-url init ", + "Same origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Same origin redirection, empty redirect header, same-origin init ", + "Same origin redirection, empty redirect header, origin init ", + "Same origin redirection, empty redirect header, origin-when-cross-origin init ", + "Same origin redirection, empty redirect header, strict-origin init ", + "Same origin redirection, empty redirect header, strict-origin-when-cross-origin init ", + "Cross origin redirection, empty init, unsafe-url redirect header ", + "Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ", + "Cross origin redirection, empty init, origin redirect header ", + "Cross origin redirection, empty init, origin-when-cross-origin redirect header ", + "Cross origin redirection, empty init, strict-origin redirect header ", + "Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ", + "Cross origin redirection, empty redirect header, unsafe-url init ", + "Cross origin redirection, empty redirect header, no-referrer-when-downgrade init ", + "Cross origin redirection, empty redirect header, origin init ", + "Cross origin redirection, empty redirect header, origin-when-cross-origin init ", + "Cross origin redirection, empty redirect header, strict-origin init ", + "Cross origin redirection, empty redirect header, strict-origin-when-cross-origin init " + ] + }, + "idlharness.any.html": [ + "Request interface: attribute destination", + "Request interface: attribute referrer", + "Request interface: attribute referrerPolicy", + "Request interface: attribute mode", + "Request interface: attribute credentials", + "Request interface: attribute cache", + "Request interface: attribute integrity", + "Request interface: attribute keepalive", + "Request interface: attribute isReloadNavigation", + "Request interface: attribute isHistoryNavigation", + "Request interface: attribute duplex", + "Request interface: attribute body", + "Request interface: attribute bodyUsed", + "Request interface: new Request('about:blank') must inherit property \"destination\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"referrer\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"referrerPolicy\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"mode\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"credentials\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"cache\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"integrity\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"keepalive\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"isReloadNavigation\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"isHistoryNavigation\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"duplex\" with the proper type", + "Response interface: operation json(any, optional ResponseInit)", + "Response interface: attribute body", + "Response interface: attribute bodyUsed", + "Response interface: calling redirect(USVString, optional unsigned short) on new Response() with too few arguments must throw TypeError", + "Window interface: operation fetch(RequestInfo, optional RequestInit)" + ], + "idlharness.any.worker.html": [ + "Request interface: attribute destination", + "Request interface: attribute referrer", + "Request interface: attribute referrerPolicy", + "Request interface: attribute mode", + "Request interface: attribute credentials", + "Request interface: attribute cache", + "Request interface: attribute integrity", + "Request interface: attribute keepalive", + "Request interface: attribute isReloadNavigation", + "Request interface: attribute isHistoryNavigation", + "Request interface: attribute duplex", + "Request interface: attribute body", + "Request interface: attribute bodyUsed", + "Request interface: new Request('about:blank') must inherit property \"destination\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"referrer\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"referrerPolicy\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"mode\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"credentials\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"cache\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"integrity\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"keepalive\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"isReloadNavigation\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"isHistoryNavigation\" with the proper type", + "Request interface: new Request('about:blank') must inherit property \"duplex\" with the proper type", + "Response interface: operation json(any, optional ResponseInit)", + "Response interface: attribute body", + "Response interface: attribute bodyUsed", + "Response interface: calling redirect(USVString, optional unsigned short) on new Response() with too few arguments must throw TypeError", + "WorkerGlobalScope interface: operation fetch(RequestInfo, optional RequestInit)", + "WorkerGlobalScope interface: self must inherit property \"fetch(RequestInfo, optional RequestInit)\" with the proper type", + "WorkerGlobalScope interface: calling fetch(RequestInfo, optional RequestInit) on self with too few arguments must throw TypeError" + ], + "abort": { + "request.any.html": true, + "request.any.worker.html": true, + "general.any.html": true, + "general.any.worker.html": true, + "cache.https.any.html": false, + "cache.https.any.worker.html": false + }, + "cors": { + "cors-basic.any.html": false, + "cors-basic.any.worker.html": false, + "cors-cookies-redirect.any.html": [ + "Testing credentials after cross-origin redirection with CORS and no preflight", + "Testing credentials after cross-origin redirection with CORS and preflight" + ], + "cors-cookies-redirect.any.worker.html": [ + "Testing credentials after cross-origin redirection with CORS and no preflight", + "Testing credentials after cross-origin redirection with CORS and preflight" + ], + "cors-cookies.any.html": [ + "Include mode: 1 cookie" + ], + "cors-cookies.any.worker.html": [ + "Include mode: 1 cookie" + ], + "cors-expose-star.sub.any.html": false, + "cors-expose-star.sub.any.worker.html": false, + "cors-filtering.sub.any.html": false, + "cors-filtering.sub.any.worker.html": false, + "cors-multiple-origins.sub.any.html": false, + "cors-multiple-origins.sub.any.worker.html": false, + "cors-no-preflight.any.html": true, + "cors-no-preflight.any.worker.html": true, + "cors-origin.any.html": [ + "Cross domain different subdomain [origin KO]", + "Same domain different port [origin KO]", + "Cross domain different port [origin KO]", + "Cross domain different protocol [origin KO]", + "Same domain different protocol different port [origin KO]", + "Cross domain [POST] [origin KO]", + "Cross domain [HEAD] [origin KO]", + "CORS preflight [PUT] [origin KO]", + "Allowed origin: \"\" [origin KO]" + ], + "cors-origin.any.worker.html": [ + "Cross domain different subdomain [origin KO]", + "Same domain different port [origin KO]", + "Cross domain different port [origin KO]", + "Cross domain different protocol [origin KO]", + "Same domain different protocol different port [origin KO]", + "Cross domain [POST] [origin KO]", + "Cross domain [HEAD] [origin KO]", + "CORS preflight [PUT] [origin KO]", + "Allowed origin: \"\" [origin KO]" + ], + "cors-preflight-cache.any.html": false, + "cors-preflight-cache.any.worker.html": false, + "cors-preflight-not-cors-safelisted.any.html": [ + "Need CORS-preflight for accept/\" header", + "Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header", + "Need CORS-preflight for accept-language/\u0001 header", + "Need CORS-preflight for accept-language/@ header", + "Need CORS-preflight for authorization/basics header", + "Need CORS-preflight for content-language/\u0001 header", + "Need CORS-preflight for content-language/@ header", + "Need CORS-preflight for content-type/text/html header", + "Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header", + "Need CORS-preflight for range/bytes 0- header", + "Need CORS-preflight for test/hi header" + ], + "cors-preflight-not-cors-safelisted.any.worker.html": [ + "Need CORS-preflight for accept/\" header", + "Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header", + "Need CORS-preflight for accept-language/\u0001 header", + "Need CORS-preflight for accept-language/@ header", + "Need CORS-preflight for authorization/basics header", + "Need CORS-preflight for content-language/\u0001 header", + "Need CORS-preflight for content-language/@ header", + "Need CORS-preflight for content-type/text/html header", + "Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header", + "Need CORS-preflight for range/bytes 0- header", + "Need CORS-preflight for test/hi header" + ], + "cors-preflight-redirect.any.html": false, + "cors-preflight-redirect.any.worker.html": false, + "cors-preflight-referrer.any.html": false, + "cors-preflight-referrer.any.worker.html": false, + "cors-preflight-response-validation.any.html": false, + "cors-preflight-response-validation.any.worker.html": false, + "cors-preflight-star.any.html": false, + "cors-preflight-star.any.worker.html": false, + "cors-preflight-status.any.html": false, + "cors-preflight-status.any.worker.html": false, + "cors-preflight.any.html": [ + "CORS [DELETE], server allows", + "CORS [DELETE], server refuses", + "CORS [PUT], server allows", + "CORS [PUT], server allows, check preflight has user agent", + "CORS [PUT], server refuses", + "CORS [PATCH], server allows", + "CORS [PATCH], server refuses", + "CORS [patcH], server allows", + "CORS [patcH], server refuses", + "CORS [NEW], server allows", + "CORS [NEW], server refuses", + "CORS [chicken], server allows", + "CORS [chicken], server refuses", + "CORS [GET] [x-test-header: allowed], server allows", + "CORS [GET] [x-test-header: refused], server refuses", + "CORS [GET] [several headers], server allows", + "CORS [GET] [several headers], server refuses", + "CORS [PUT] [several headers], server allows", + "CORS [PUT] [several headers], server refuses", + "CORS [PUT] [only safe headers], server allows", + "\"authorization\" should not be covered by the wildcard symbol" + ], + "cors-preflight.any.worker.html": [ + "CORS [DELETE], server allows", + "CORS [DELETE], server refuses", + "CORS [PUT], server allows", + "CORS [PUT], server allows, check preflight has user agent", + "CORS [PUT], server refuses", + "CORS [PATCH], server allows", + "CORS [PATCH], server refuses", + "CORS [patcH], server allows", + "CORS [patcH], server refuses", + "CORS [NEW], server allows", + "CORS [NEW], server refuses", + "CORS [chicken], server allows", + "CORS [chicken], server refuses", + "CORS [GET] [x-test-header: allowed], server allows", + "CORS [GET] [x-test-header: refused], server refuses", + "CORS [GET] [several headers], server allows", + "CORS [GET] [several headers], server refuses", + "CORS [PUT] [several headers], server allows", + "CORS [PUT] [several headers], server refuses", + "CORS [PUT] [only safe headers], server allows", + "\"authorization\" should not be covered by the wildcard symbol" + ], + "cors-redirect-credentials.any.html": [ + "Redirect 301 from same origin to remote with user and password", + "Redirect 301 from same origin to remote with user", + "Redirect 301 from same origin to remote with password", + "Redirect 301 from remote to same origin with user and password", + "Redirect 301 from remote to same origin with user", + "Redirect 301 from remote to same origin with password", + "Redirect 301 from remote to same remote with user and password", + "Redirect 301 from remote to same remote with user", + "Redirect 301 from remote to same remote with password", + "Redirect 301 from remote to another remote with user and password", + "Redirect 301 from remote to another remote with user", + "Redirect 301 from remote to another remote with password", + "Redirect 302 from same origin to remote with user and password", + "Redirect 302 from same origin to remote with user", + "Redirect 302 from same origin to remote with password", + "Redirect 302 from remote to same origin with user and password", + "Redirect 302 from remote to same origin with user", + "Redirect 302 from remote to same origin with password", + "Redirect 302 from remote to same remote with user and password", + "Redirect 302 from remote to same remote with user", + "Redirect 302 from remote to same remote with password", + "Redirect 302 from remote to another remote with user and password", + "Redirect 302 from remote to another remote with user", + "Redirect 302 from remote to another remote with password", + "Redirect 303 from same origin to remote with user and password", + "Redirect 303 from same origin to remote with user", + "Redirect 303 from same origin to remote with password", + "Redirect 303 from remote to same origin with user and password", + "Redirect 303 from remote to same origin with user", + "Redirect 303 from remote to same origin with password", + "Redirect 303 from remote to same remote with user and password", + "Redirect 303 from remote to same remote with user", + "Redirect 303 from remote to same remote with password", + "Redirect 303 from remote to another remote with user and password", + "Redirect 303 from remote to another remote with user", + "Redirect 303 from remote to another remote with password", + "Redirect 307 from same origin to remote with user and password", + "Redirect 307 from same origin to remote with user", + "Redirect 307 from same origin to remote with password", + "Redirect 307 from remote to same origin with user and password", + "Redirect 307 from remote to same origin with user", + "Redirect 307 from remote to same origin with password", + "Redirect 307 from remote to same remote with user and password", + "Redirect 307 from remote to same remote with user", + "Redirect 307 from remote to same remote with password", + "Redirect 307 from remote to another remote with user and password", + "Redirect 307 from remote to another remote with user", + "Redirect 307 from remote to another remote with password", + "Redirect 308 from same origin to remote with user and password", + "Redirect 308 from same origin to remote with user", + "Redirect 308 from same origin to remote with password", + "Redirect 308 from remote to same origin with user and password", + "Redirect 308 from remote to same origin with user", + "Redirect 308 from remote to same origin with password", + "Redirect 308 from remote to same remote with user and password", + "Redirect 308 from remote to same remote with user", + "Redirect 308 from remote to same remote with password", + "Redirect 308 from remote to another remote with user and password", + "Redirect 308 from remote to another remote with user", + "Redirect 308 from remote to another remote with password" + ], + "cors-redirect-credentials.any.worker.html": [ + "Redirect 301 from same origin to remote with user and password", + "Redirect 301 from same origin to remote with user", + "Redirect 301 from same origin to remote with password", + "Redirect 301 from remote to same origin with user and password", + "Redirect 301 from remote to same origin with user", + "Redirect 301 from remote to same origin with password", + "Redirect 301 from remote to same remote with user and password", + "Redirect 301 from remote to same remote with user", + "Redirect 301 from remote to same remote with password", + "Redirect 301 from remote to another remote with user and password", + "Redirect 301 from remote to another remote with user", + "Redirect 301 from remote to another remote with password", + "Redirect 302 from same origin to remote with user and password", + "Redirect 302 from same origin to remote with user", + "Redirect 302 from same origin to remote with password", + "Redirect 302 from remote to same origin with user and password", + "Redirect 302 from remote to same origin with user", + "Redirect 302 from remote to same origin with password", + "Redirect 302 from remote to same remote with user and password", + "Redirect 302 from remote to same remote with user", + "Redirect 302 from remote to same remote with password", + "Redirect 302 from remote to another remote with user and password", + "Redirect 302 from remote to another remote with user", + "Redirect 302 from remote to another remote with password", + "Redirect 303 from same origin to remote with user and password", + "Redirect 303 from same origin to remote with user", + "Redirect 303 from same origin to remote with password", + "Redirect 303 from remote to same origin with user and password", + "Redirect 303 from remote to same origin with user", + "Redirect 303 from remote to same origin with password", + "Redirect 303 from remote to same remote with user and password", + "Redirect 303 from remote to same remote with user", + "Redirect 303 from remote to same remote with password", + "Redirect 303 from remote to another remote with user and password", + "Redirect 303 from remote to another remote with user", + "Redirect 303 from remote to another remote with password", + "Redirect 307 from same origin to remote with user and password", + "Redirect 307 from same origin to remote with user", + "Redirect 307 from same origin to remote with password", + "Redirect 307 from remote to same origin with user and password", + "Redirect 307 from remote to same origin with user", + "Redirect 307 from remote to same origin with password", + "Redirect 307 from remote to same remote with user and password", + "Redirect 307 from remote to same remote with user", + "Redirect 307 from remote to same remote with password", + "Redirect 307 from remote to another remote with user and password", + "Redirect 307 from remote to another remote with user", + "Redirect 307 from remote to another remote with password", + "Redirect 308 from same origin to remote with user and password", + "Redirect 308 from same origin to remote with user", + "Redirect 308 from same origin to remote with password", + "Redirect 308 from remote to same origin with user and password", + "Redirect 308 from remote to same origin with user", + "Redirect 308 from remote to same origin with password", + "Redirect 308 from remote to same remote with user and password", + "Redirect 308 from remote to same remote with user", + "Redirect 308 from remote to same remote with password", + "Redirect 308 from remote to another remote with user and password", + "Redirect 308 from remote to another remote with user", + "Redirect 308 from remote to another remote with password" + ], + "cors-redirect-preflight.any.html": false, + "cors-redirect-preflight.any.worker.html": false, + "cors-redirect.any.html": false, + "cors-redirect.any.worker.html": false + }, + "credentials": { + "authentication-basic.any.html": true, + "authentication-basic.any.worker.html": true, + "authentication-redirection.any.html": [ + "getAuthorizationHeaderValue - cross origin redirection" + ], + "authentication-redirection.any.worker.html": [ + "getAuthorizationHeaderValue - cross origin redirection" + ], + "cookies.any.html": [ + "Include mode: 1 cookie", + "Include mode: 2 cookies", + "Same-origin mode: 1 cookie", + "Same-origin mode: 2 cookies" + ], + "cookies.any.worker.html": [ + "Include mode: 1 cookie", + "Include mode: 2 cookies", + "Same-origin mode: 1 cookie", + "Same-origin mode: 2 cookies" + ] + } + }, + "content-length": { + "api-and-duplicate-headers.any.html": false, + "api-and-duplicate-headers.any.worker.html": false, + "too-long.window.html": true, + "parsing.window.html": [ + "Input: \"Content-Length: aaaah\\r\\nContent-Length: aaaah\". Expected: 42.", + "Input: \"Content-Length: aaaah, aaaah\". Expected: 42.", + "Input: \"Content-Length: aaaah\". Expected: 42.", + "Input: \"Content-Length: 42s\". Expected: 42.", + "Input: \"Content-Length: 30s\". Expected: 42.", + "Input: \"Content-Length: -1\". Expected: 42.", + "Input: \"Content-Length: 0x20\". Expected: 42.", + "Input: \"Content-Length: 030\\r\\nContent-Length: 30\". Expected: network error.", + "Input: \"Content-Length: 030, 30\". Expected: network error.", + "Input: \"Content-Length: \\\"30\\\"\". Expected: 42.", + "Input: \"Content-Length: \". Expected: 42." + ] + }, + "content-type": { + "multipart.window.html": true, + "multipart-malformed.any.html": false, + "multipart-malformed.any.worker.html": false, + "response.window.html": [ + "