Tests: Synchronize imported tests with the WPT repository

This commit is contained in:
Tim Ledbetter 2025-06-21 15:43:33 +01:00 committed by Alexander Kalenik
commit 689dff3ee8
Notes: github-actions[bot] 2025-06-22 21:52:43 +00:00
155 changed files with 1485 additions and 750 deletions

View file

@ -8,7 +8,3 @@
} }
</style> </style>
<p>PASS if this tests does not crash</p> <p>PASS if this tests does not crash</p>
<script>
if (window.internals)
window.internals.signalTestIsDone("PASS");
</script>

View file

@ -11,7 +11,5 @@ document.addEventListener("DOMContentLoaded", () => {
document.documentElement.appendChild(a) document.documentElement.appendChild(a)
b.offsetTop; b.offsetTop;
b.setAttributeNS("h", "class", "") b.setAttributeNS("h", "class", "")
if (window.internals)
window.internals.signalTestIsDone("PASS");
}) })
</script> </script>

View file

@ -13,7 +13,4 @@
} }
}); });
parentelement.innerText = 'hello world'; parentelement.innerText = 'hello world';
if (window.internals)
internals.signalTestIsDone("PASS");
</script> </script>

View file

@ -1,11 +1,12 @@
<!DOCTYPE html> <!DOCTYPE html>
<link rel=author href="mailto:luke@warlow.dev">
<link rel=author href="mailto:masonf@chromium.org">
<link rel=help href="https://html.spec.whatwg.org/#attr-dialog-closedby">
<!-- This test passes if it does not crash. --> <!-- This test passes if it does not crash. -->
<dialog id="dialog" open>Dialog</dialog> <dialog id="dialog" open>Dialog</dialog>
<script> <script>
window.onload = () => { window.onload = () => dialog.requestClose();
dialog.requestClose();
}
</script> </script>

View file

@ -1,3 +1,4 @@
<!DOCTYPE html> <!DOCTYPE html>
<div style="width: 100px; height: 80px; background: green"></div> <div style="width: 100px; height: 80px; background: green"></div>
<div style="width: 100px; height: 20px; background: blue"></div> <div style="width: 100px; height: 20px; background: blue"></div>

View file

@ -3,13 +3,14 @@
<head> <head>
<title>CSS Reftest Reference</title> <title>CSS Reftest Reference</title>
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
<style type="text/css"> <style type="text/css"><![CDATA[
div div
{ {
background-color: green; background-color: green;
height: 100px; height: 100px;
width: 100px; width: 100px;
}</style> }
]]></style>
</head> </head>
<body> <body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>

View file

@ -8,4 +8,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<!-- solid color #009900 PNG image, untagged --> <!-- solid color #009900 PNG image, untagged -->
<p><img src="./support/009900.png" alt="should be green"/></p> <p><img src="./support/009900.png" alt="should be green"/></p>
</body> </body>

View file

@ -11,4 +11,4 @@
red-green swapped to be sure the profile is actually applied red-green swapped to be sure the profile is actually applied
--> -->
<p><img src="./support/swap-990000-iCCP.png" alt="should be green"/></p> <p><img src="./support/swap-990000-iCCP.png" alt="should be green"/></p>
</body> </body>

View file

@ -30,4 +30,4 @@
</div> </div>
</div> </div>
</body> </body>
</html> </html>

View file

@ -1,62 +1,13 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <meta charset="utf-8">
<head> <title>Paint Containment Stacking Context Reference</title>
<meta charset="utf-8"> <link rel="author" title="Psychpsyo" href="mailto:psychpsyo@gmail.com">
<title>CSS Reftest Reference</title> <style>
<link rel="author" title="Yusuf Sermet" href="mailto:ysermet@mozilla.com"> div {
<style> width: 100px;
div { height: 100px;
position: relative; background-color: green;
width: 100px; }
} </style>
#div1, <div></div>
#div3 { Test succeeds if there is no red.
background-color: #cfc;
}
#div1 {
z-index: 5;
}
#div2 {
z-index: 1;
background-color: #fdd;
height: 100px;
top: -20px;
}
#div2_1 {
background-color: #ffc;
z-index: 6;
top: -10px;
}
#div2_2 {
z-index: 3;
position: absolute;
top: -15px;
width: 40px;
height: 100px;
background-color: #ddf;
}
#div3 {
z-index: 2;
top: -50px;
}
</style>
</head>
<body>
<div id="div1">
<br/><br/>
</div>
<div id="div2">
<div id="div2_1">
<br/><br/>
</div>
<div id="div2_2">
</div>
</div>
<div id="div3">
<br/><br/>
</div>
</body>
</html>

View file

@ -23,3 +23,6 @@ div { font-size: 50px; }
<div>&nbsp;</div> <div>&nbsp;</div>
</div> </div>
</div> </div>

View file

@ -1 +1 @@
<html style="background: green"></html> <html style="background: green"></html>

View file

@ -3,13 +3,14 @@
<head> <head>
<title>CSS Reftest Reference</title> <title>CSS Reftest Reference</title>
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
<style type="text/css"> <style type="text/css"><![CDATA[
div { div
background-color: green; {
height: 100px; background-color: green;
width: 100px; height: 100px;
width: 100px;
} }
</style> ]]></style>
</head> </head>
<body> <body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>

View file

@ -449,4 +449,4 @@
<td>146</td> <td>146</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -14,4 +14,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p> <p class="ref"> </p>
<p class="test"> </p> <p class="test"> </p>
</body> </body>

View file

@ -11,4 +11,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<!-- solid color #990000 PNG image, iCCP with v2 ICC swapped red-green sRGB profile --> <!-- solid color #990000 PNG image, iCCP with v2 ICC swapped red-green sRGB profile -->
<p><img src="./support/swap-990000-iCCP.png" alt="should be green"/></p> <p><img src="./support/swap-990000-iCCP.png" alt="should be green"/></p>
</body> </body>

View file

@ -11,4 +11,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<!-- solid color #009900 PNG image, sRGB chunk, relative colorimetric --> <!-- solid color #009900 PNG image, sRGB chunk, relative colorimetric -->
<p><img src="./support/009900-sRGB.png" alt="should be green"/></p> <p><img src="./support/009900-sRGB.png" alt="should be green"/></p>
</body> </body>

View file

@ -10,4 +10,4 @@
<p>Test passes if you see a green square, and no red.</p> <p>Test passes if you see a green square, and no red.</p>
<!-- solid color #009900 PNG image, no color information --> <!-- solid color #009900 PNG image, no color information -->
<p><img src="./support/009900.png" alt="should be green"/></p> <p><img src="./support/009900.png" alt="should be green"/></p>
</body> </body>

View file

@ -40,3 +40,4 @@
document.documentElement.removeAttribute("class"); document.documentElement.removeAttribute("class");
}); });
</script> </script>

View file

@ -1,66 +1,32 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <title>'contain: layout' establishes stacking context.</title>
<head> <link rel="author" title="Psychpsyo" href="mailto:psychpsyo@gmail.com">
<meta charset="utf-8"> <link rel="help" href="https://drafts.csswg.org/css2/visuren.html#x43">
<title>CSS Test: 'contain: layout' with stacking contents. Z-index is defined only for siblings and children.</title> <link rel="help" href="https://drafts.csswg.org/css-contain/#containment-layout">
<link rel="author" title="Yusuf Sermet" href="mailto:ysermet@mozilla.com"> <link rel="match" href="../../../../expected/wpt-import/css/css-contain/contain-paint-stacking-context-001-ref.html">
<link rel="author" title="Morgan Rae Reschenberg" href="mailto:mreschenberg@berkeley.edu"> <style>
<link rel="help" href="https://drafts.csswg.org/css2/visuren.html#x43"> div {
<link rel="help" href="https://drafts.csswg.org/css-contain/#containment-layout"> width: 100px;
<link rel="match" href="../../../../expected/wpt-import/css/css-contain/contain-paint-stacking-context-001-ref.html"> height: 100px;
<style> }
div { #front {
position: relative; background-color: green;
width: 100px; /* makes a stacking context and puts this on top */
} position: absolute;
#div1, z-index: 10;
#div3 { }
background-color: #cfc; #back {
} contain: layout;
#div1 { }
z-index: 5; #notOnTop {
} background-color: red;
#div2 { /* z-index is higher than on #front, but this should still be covered up because it is inside #back, which has 'contain: layout' */
contain: layout; position: absolute;
background-color: #fdd; z-index: 1000;
height: 100px; }
top: -20px; </style>
} <div id="front"></div>
#div2_1 { <div id="back">
background-color: #ffc; <div id="notOnTop"></div>
z-index: 6; </div>
top: -10px; Test succeeds if there is no red.
}
#div2_2 {
z-index: 3;
position: absolute;
top: -15px;
width: 40px;
height: 100px;
background-color: #ddf;
}
#div3 {
z-index: 2;
top: -50px;
}
</style>
</head>
<body>
<div id="div1">
<br/><br/>
</div>
<div id="div2">
<div id="div2_1">
<br/><br/>
</div>
<div id="div2_2">
</div>
</div>
<div id="div3">
<br/><br/>
</div>
</body>
</html>

View file

@ -34,3 +34,6 @@ div { font-size: 50px; }
<div class=green></div><!-- won't show unless ::after is inserted and grid tracks are properly sized--> <div class=green></div><!-- won't show unless ::after is inserted and grid tracks are properly sized-->
</div> </div>
</div> </div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 B

After

Width:  |  Height:  |  Size: 218 B

Before After
Before After

View file

@ -8,7 +8,7 @@
<link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax"> <link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax">
<link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line"> <link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line">
<meta name="assert" content="Tests that gradient with a single color stop renders the expected solid color"> <meta name="assert" content="Tests that gradient with a single color stop renders the expected solid color">
<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4500"> <meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-6000">
<link rel="match" href="../../../../../expected/wpt-import//css/reference/ref-filled-green-100px-square-only.html"> <link rel="match" href="../../../../../expected/wpt-import//css/reference/ref-filled-green-100px-square-only.html">
<style> <style>
body { body {

View file

@ -8,7 +8,7 @@
<link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax"> <link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax">
<link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line"> <link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line">
<meta name="assert" content="Tests that gradient with a single color stop renders the expected solid color"> <meta name="assert" content="Tests that gradient with a single color stop renders the expected solid color">
<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4500"> <meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-6000">
<link rel="match" href="../../../../../expected/wpt-import//css/reference/ref-filled-green-100px-square-only.html"> <link rel="match" href="../../../../../expected/wpt-import//css/reference/ref-filled-green-100px-square-only.html">
<style> <style>
body { body {

View file

@ -8,7 +8,7 @@
<link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax"> <link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax">
<link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line"> <link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line">
<meta name="assert" content="Tests that gradient with a single color stop renders the expected solid color"> <meta name="assert" content="Tests that gradient with a single color stop renders the expected solid color">
<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4500"> <meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-6000">
<link rel="match" href="../../../../../expected/wpt-import//css/reference/ref-filled-green-100px-square-only.html"> <link rel="match" href="../../../../../expected/wpt-import//css/reference/ref-filled-green-100px-square-only.html">
<style> <style>
body { body {

View file

@ -20,3 +20,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("a"); toggler.classList.toggle("a");
</script> </script>

View file

@ -459,4 +459,4 @@
<script> <script>
document.documentElement.offsetTop; document.documentElement.offsetTop;
document.querySelectorAll(`tbody tr:not([data-affiliation=google-llc"])`).forEach($tr => $tr.setAttribute('hidden', 'hidden')); document.querySelectorAll(`tbody tr:not([data-affiliation=google-llc"])`).forEach($tr => $tr.setAttribute('hidden', 'hidden'));
</script> </script>

View file

@ -23,3 +23,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.setAttribute("attr", "no"); toggler.setAttribute("attr", "no");
</script> </script>

View file

@ -23,3 +23,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("c"); toggler.classList.toggle("c");
</script> </script>

View file

@ -23,3 +23,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("c"); toggler.classList.toggle("c");
</script> </script>

View file

@ -23,3 +23,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
t2.id = "new-id"; t2.id = "new-id";
</script> </script>

View file

@ -23,3 +23,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
t2.id = "new-id"; t2.id = "new-id";
</script> </script>

View file

@ -21,3 +21,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("c"); toggler.classList.toggle("c");
</script> </script>

View file

@ -23,3 +23,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("a"); toggler.classList.toggle("a");
</script> </script>

View file

@ -21,3 +21,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("ancestor"); toggler.classList.toggle("ancestor");
</script> </script>

View file

@ -22,3 +22,4 @@
document.documentElement.offsetTop; document.documentElement.offsetTop;
toggler.classList.toggle("sibling"); toggler.classList.toggle("sibling");
</script> </script>

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 608 tests Found 620 tests
608 Pass 620 Pass
Pass Bad usages: importKey(spki, {name: ECDH, namedCurve: P-256}, true, [encrypt]) Pass Bad usages: importKey(spki, {name: ECDH, namedCurve: P-256}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: ECDH, namedCurve: P-256}, false, [encrypt]) Pass Bad usages: importKey(spki, {name: ECDH, namedCurve: P-256}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: ECDH, namedCurve: P-256}, true, [decrypt]) Pass Bad usages: importKey(spki, {name: ECDH, namedCurve: P-256}, true, [decrypt])
@ -610,4 +610,16 @@ Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey) Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey) Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits) Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits) Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)
Pass Invalid 'kty' field: importKey(jwk(private), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits])
Pass Invalid 'kty' field: importKey(jwk(private), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits])
Pass Invalid 'kty' field: importKey(jwk(private), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits])
Pass Import from a non-extractable: importKey(jwk(private), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits])
Pass Import from a non-extractable: importKey(jwk(private), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits])
Pass Import from a non-extractable: importKey(jwk(private), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits])
Pass Invalid 'use' field: importKey(jwk(private), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits])
Pass Invalid 'use' field: importKey(jwk(private), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits])
Pass Invalid 'use' field: importKey(jwk(private), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk(private), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk(private), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk(private), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits])

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 608 tests Found 620 tests
608 Pass 620 Pass
Pass Bad usages: importKey(spki, {name: ECDSA, namedCurve: P-256}, true, [encrypt]) Pass Bad usages: importKey(spki, {name: ECDSA, namedCurve: P-256}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: ECDSA, namedCurve: P-256}, false, [encrypt]) Pass Bad usages: importKey(spki, {name: ECDSA, namedCurve: P-256}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: ECDSA, namedCurve: P-256}, true, [verify, encrypt]) Pass Bad usages: importKey(spki, {name: ECDSA, namedCurve: P-256}, true, [verify, encrypt])
@ -610,4 +610,16 @@ Pass Missing algorithm name: importKey(raw, {}, false, verify)
Pass Missing algorithm name: importKey(pkcs8, {}, true, sign) Pass Missing algorithm name: importKey(pkcs8, {}, true, sign)
Pass Missing algorithm name: importKey(pkcs8, {}, false, sign) Pass Missing algorithm name: importKey(pkcs8, {}, false, sign)
Pass Missing algorithm name: importKey(jwk(private), {}, true, sign) Pass Missing algorithm name: importKey(jwk(private), {}, true, sign)
Pass Missing algorithm name: importKey(jwk(private), {}, false, sign) Pass Missing algorithm name: importKey(jwk(private), {}, false, sign)
Pass Invalid 'kty' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-256}, true, [sign])
Pass Invalid 'kty' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-384}, true, [sign])
Pass Invalid 'kty' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-521}, true, [sign])
Pass Import from a non-extractable: importKey(jwk(private), {name: ECDSA, namedCurve: P-256}, true, [sign])
Pass Import from a non-extractable: importKey(jwk(private), {name: ECDSA, namedCurve: P-384}, true, [sign])
Pass Import from a non-extractable: importKey(jwk(private), {name: ECDSA, namedCurve: P-521}, true, [sign])
Pass Invalid 'use' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-256}, true, [sign])
Pass Invalid 'use' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-384}, true, [sign])
Pass Invalid 'use' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-521}, true, [sign])
Pass Invalid 'crv' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-256}, true, [sign])
Pass Invalid 'crv' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-384}, true, [sign])
Pass Invalid 'crv' field: importKey(jwk(private), {name: ECDSA, namedCurve: P-521}, true, [sign])

View file

@ -1,44 +1,55 @@
Harness status: OK Harness status: OK
Found 62 tests Found 72 tests
62 Pass 52 Pass
20 Fail
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify]) Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify]) Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify]) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify]) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify]) Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify]) Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify])
Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify]) Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify]) Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, []) Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, []) Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, []) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, []) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, []) Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, []) Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [])
Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, []) Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, []) Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify]) Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify, verify]) Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify]) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify, verify]) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify]) Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify, verify]) Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify, verify]) Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify, verify]) Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify, verify])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign]) Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign]) Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign]) Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign]) Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign]) Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign]) Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign]) Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign, sign]) Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign]) Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign]) Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign]) Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign]) Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Fail Good parameters with JWK alg Ed25519: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Fail Good parameters with JWK alg EdDSA: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify]) Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [verify]) Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify]) Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify])

View file

@ -7,34 +7,34 @@ Pass Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, true, [])
Pass Good parameters: X25519 bits (spki, buffer(44), X25519, true, []) Pass Good parameters: X25519 bits (spki, buffer(44), X25519, true, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, true, []) Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, true, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, true, []) Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, true, [])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(kty, crv, x), {name: X25519}, true, []) Pass Good parameters with JWK alg: X25519 (jwk, object(kty, crv, x), {name: X25519}, true, [])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(kty, crv, x), X25519, true, []) Pass Good parameters with JWK alg: X25519 (jwk, object(kty, crv, x), X25519, true, [])
Pass Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, true, []) Pass Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, true, [])
Pass Good parameters: X25519 bits (raw, buffer(32), X25519, true, []) Pass Good parameters: X25519 bits (raw, buffer(32), X25519, true, [])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits, deriveKey]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits, deriveKey]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters with JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, false, []) Pass Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (spki, buffer(44), X25519, false, []) Pass Good parameters: X25519 bits (spki, buffer(44), X25519, false, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, false, []) Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, false, [])

View file

@ -7,34 +7,34 @@ Pass Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])
Pass Good parameters: X448 bits (spki, buffer(68), X448, true, []) Pass Good parameters: X448 bits (spki, buffer(68), X448, true, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, []) Pass Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), X448, true, []) Pass Good parameters: X448 bits (jwk, object(kty, crv, x), X448, true, [])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, []) Pass Good parameters with JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), X448, true, []) Pass Good parameters with JWK alg: X448 (jwk, object(kty, crv, x), X448, true, [])
Pass Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, []) Pass Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])
Pass Good parameters: X448 bits (raw, buffer(56), X448, true, []) Pass Good parameters: X448 bits (raw, buffer(56), X448, true, [])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey]) Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey]) Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey]) Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits, deriveKey]) Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits]) Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits]) Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits]) Pass Good parameters with JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, []) Pass Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])
Pass Good parameters: X448 bits (spki, buffer(68), X448, false, []) Pass Good parameters: X448 bits (spki, buffer(68), X448, false, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, []) Pass Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])

View file

@ -1,9 +1,9 @@
Harness status: OK Harness status: OK
Found 258 tests Found 270 tests
244 Pass 252 Pass
14 Fail 18 Fail
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [encrypt]) Pass Bad usages: importKey(spki, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [encrypt]) Pass Bad usages: importKey(spki, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, encrypt]) Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, encrypt])
@ -261,4 +261,16 @@ Pass Missing algorithm name: importKey(raw, {}, false, verify)
Pass Missing algorithm name: importKey(jwk(private), {}, true, sign) Pass Missing algorithm name: importKey(jwk(private), {}, true, sign)
Pass Missing algorithm name: importKey(jwk(private), {}, false, sign) Pass Missing algorithm name: importKey(jwk(private), {}, false, sign)
Pass Missing algorithm name: importKey(jwk (public) , {}, true, verify) Pass Missing algorithm name: importKey(jwk (public) , {}, true, verify)
Pass Missing algorithm name: importKey(jwk (public) , {}, false, verify) Pass Missing algorithm name: importKey(jwk (public) , {}, false, verify)
Pass Invalid 'kty' field: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Invalid 'kty' field: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Pass Import from a non-extractable: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Import from a non-extractable: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Pass Invalid 'use' field: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Invalid 'use' field: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Pass Invalid 'crv' field: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Invalid 'crv' field: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Fail Invalid 'alg' field 'ed25519': importKey(jwk(private), {name: Ed25519}, true, [sign])
Fail Invalid 'alg' field 'ED25519': importKey(jwk(private), {name: Ed25519}, true, [sign])
Fail Invalid 'alg' field 'ed25519': importKey(jwk (public) , {name: Ed25519}, true, [verify])
Fail Invalid 'alg' field 'ED25519': importKey(jwk (public) , {name: Ed25519}, true, [verify])

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 224 tests Found 231 tests
208 Pass 215 Pass
16 Fail 16 Fail
Pass Bad usages: importKey(spki, {name: X25519}, true, [encrypt]) Pass Bad usages: importKey(spki, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: X25519}, false, [encrypt]) Pass Bad usages: importKey(spki, {name: X25519}, false, [encrypt])
@ -227,4 +227,11 @@ Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey) Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey) Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits) Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits) Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)
Pass Invalid 'kty' field: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits])
Pass Invalid 'kty' field: importKey(jwk (public) , {name: X25519}, true, [])
Pass Import from a non-extractable: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits])
Pass Import from a non-extractable: importKey(jwk (public) , {name: X25519}, true, [])
Pass Invalid 'use' field: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk (public) , {name: X25519}, true, [])

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 224 tests Found 231 tests
208 Pass 215 Pass
16 Fail 16 Fail
Pass Bad usages: importKey(spki, {name: X448}, true, [encrypt]) Pass Bad usages: importKey(spki, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: X448}, false, [encrypt]) Pass Bad usages: importKey(spki, {name: X448}, false, [encrypt])
@ -227,4 +227,11 @@ Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey) Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey) Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits) Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits) Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)
Pass Invalid 'kty' field: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits])
Pass Invalid 'kty' field: importKey(jwk (public) , {name: X448}, true, [])
Pass Import from a non-extractable: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits])
Pass Import from a non-extractable: importKey(jwk (public) , {name: X448}, true, [])
Pass Invalid 'use' field: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits])
Pass Invalid 'crv' field: importKey(jwk (public) , {name: X448}, true, [])

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 14 tests Found 15 tests
14 Pass 15 Pass
Pass e.style['contain'] = "auto" should not set the property value Pass e.style['contain'] = "auto" should not set the property value
Pass e.style['contain'] = "layout layout" should not set the property value Pass e.style['contain'] = "layout layout" should not set the property value
Pass e.style['contain'] = "strict layout" should not set the property value Pass e.style['contain'] = "strict layout" should not set the property value
@ -16,4 +16,5 @@ Pass e.style['contain'] = "strict content" should not set the property value
Pass e.style['contain'] = "size layout size" should not set the property value Pass e.style['contain'] = "size layout size" should not set the property value
Pass e.style['contain'] = "paint content" should not set the property value Pass e.style['contain'] = "paint content" should not set the property value
Pass e.style['contain'] = "size inline-size" should not set the property value Pass e.style['contain'] = "size inline-size" should not set the property value
Pass e.style['contain'] = "inline-size inline-size" should not set the property value Pass e.style['contain'] = "inline-size inline-size" should not set the property value
Pass e.style['contain'] = "view-transition view-transition" should not set the property value

View file

@ -1,9 +1,11 @@
Harness status: OK Harness status: OK
Found 4 tests Found 6 tests
4 Pass 6 Pass
Pass e.style['flex'] = "none 1" should not set the property value Pass e.style['flex'] = "none 1" should not set the property value
Pass e.style['flex'] = "2 3 4" should not set the property value Pass e.style['flex'] = "2 3 4" should not set the property value
Pass e.style['flex'] = "5px 7%" should not set the property value Pass e.style['flex'] = "5px 7%" should not set the property value
Pass e.style['flex'] = "9 none" should not set the property value Pass e.style['flex'] = "9 none" should not set the property value
Pass e.style['flex'] = "1 2 calc(0)" should not set the property value
Pass e.style['flex'] = "1 2 calc(3 - 3)" should not set the property value

View file

@ -1,11 +1,22 @@
Harness status: OK Harness status: OK
Found 6 tests Found 16 tests
6 Pass 14 Pass
2 Fail
Pass e.style['flex'] = "none" should set the property value Pass e.style['flex'] = "none" should set the property value
Pass e.style['flex'] = "1" should set the property value Pass e.style['flex'] = "1" should set the property value
Pass e.style['flex'] = "2 3" should set the property value Pass e.style['flex'] = "2 3" should set the property value
Pass e.style['flex'] = "4 5 6px" should set the property value Pass e.style['flex'] = "4 5 6px" should set the property value
Pass e.style['flex'] = "6px 4 5" should set the property value
Pass e.style['flex'] = "6px 4" should set the property value
Pass e.style['flex'] = "6px" should set the property value
Pass e.style['flex'] = "7% 8" should set the property value Pass e.style['flex'] = "7% 8" should set the property value
Pass e.style['flex'] = "8 auto" should set the property value Pass e.style['flex'] = "8 auto" should set the property value
Pass e.style['flex'] = "1 1 10em" should set the property value
Pass e.style['flex'] = "1 1 calc(10em)" should set the property value
Pass e.style['flex'] = "1 1 calc(-10em)" should set the property value
Fail e.style['flex'] = "calc(10 + (sign(20cqw - 10px) * 5)) calc(10 + (sign(20cqw - 10px) * 5)) 1px" should set the property value
Fail e.style['flex'] = "1 1 calc(10px + (sign(20cqw - 10px) * 5px))" should set the property value
Pass e.style['flex'] = "calc(1) calc(2 + 1) calc(3px)" should set the property value
Pass e.style['flex'] = "calc(-1) calc(-1) 0" should set the property value

View file

@ -1,9 +1,9 @@
Harness status: OK Harness status: OK
Found 26 tests Found 27 tests
1 Pass 1 Pass
25 Fail 26 Fail
Fail CSS Fonts Module Level 4: parsing @font-palette-values Fail CSS Fonts Module Level 4: parsing @font-palette-values
Fail CSS Fonts Module Level 4: parsing @font-palette-values 1 Fail CSS Fonts Module Level 4: parsing @font-palette-values 1
Fail CSS Fonts Module Level 4: parsing @font-palette-values 2 Fail CSS Fonts Module Level 4: parsing @font-palette-values 2
@ -29,4 +29,5 @@ Fail CSS Fonts Module Level 4: parsing @font-palette-values 21
Fail CSS Fonts Module Level 4: parsing @font-palette-values 22 Fail CSS Fonts Module Level 4: parsing @font-palette-values 22
Fail CSS Fonts Module Level 4: parsing @font-palette-values 23 Fail CSS Fonts Module Level 4: parsing @font-palette-values 23
Fail CSS Fonts Module Level 4: parsing @font-palette-values 24 Fail CSS Fonts Module Level 4: parsing @font-palette-values 24
Fail CSS Fonts Module Level 4: parsing @font-palette-values 25 Fail CSS Fonts Module Level 4: parsing @font-palette-values 25
Fail sibling-index() is invalid in base-palette descriptor

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 15 tests Found 17 tests
12 Pass 14 Pass
3 Fail 3 Fail
Pass Property font-style value 'normal' Pass Property font-style value 'normal'
Pass Property font-style value 'italic' Pass Property font-style value 'italic'
@ -11,6 +11,8 @@ Pass Property font-style value 'oblique 0deg'
Pass Property font-style value 'oblique calc(10deg - 10deg)' Pass Property font-style value 'oblique calc(10deg - 10deg)'
Pass Property font-style value 'oblique 10deg' Pass Property font-style value 'oblique 10deg'
Pass Property font-style value 'oblique -10deg' Pass Property font-style value 'oblique -10deg'
Pass Property font-style value 'oblique 14deg'
Pass Property font-style value 'oblique -14deg'
Pass Property font-style value 'oblique -90deg' Pass Property font-style value 'oblique -90deg'
Pass Property font-style value 'oblique 90deg' Pass Property font-style value 'oblique 90deg'
Pass Property font-style value 'oblique 10grad' Pass Property font-style value 'oblique 10grad'

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 15 tests Found 17 tests
14 Pass 16 Pass
1 Fail 1 Fail
Pass e.style['font-style'] = "normal" should set the property value Pass e.style['font-style'] = "normal" should set the property value
Pass e.style['font-style'] = "italic" should set the property value Pass e.style['font-style'] = "italic" should set the property value
@ -11,6 +11,8 @@ Pass e.style['font-style'] = "oblique 0deg" should set the property value
Pass e.style['font-style'] = "oblique calc(10deg - 10deg)" should set the property value Pass e.style['font-style'] = "oblique calc(10deg - 10deg)" should set the property value
Pass e.style['font-style'] = "oblique 10deg" should set the property value Pass e.style['font-style'] = "oblique 10deg" should set the property value
Pass e.style['font-style'] = "oblique -10deg" should set the property value Pass e.style['font-style'] = "oblique -10deg" should set the property value
Pass e.style['font-style'] = "oblique 14deg" should set the property value
Pass e.style['font-style'] = "oblique -14deg" should set the property value
Pass e.style['font-style'] = "oblique -90deg" should set the property value Pass e.style['font-style'] = "oblique -90deg" should set the property value
Pass e.style['font-style'] = "oblique 90deg" should set the property value Pass e.style['font-style'] = "oblique 90deg" should set the property value
Pass e.style['font-style'] = "oblique 10grad" should set the property value Pass e.style['font-style'] = "oblique 10grad" should set the property value

View file

@ -1,19 +1,26 @@
Harness status: OK Harness status: OK
Found 14 tests Found 21 tests
14 Fail 21 Fail
Fail Property font-synthesis value 'none' Fail Property font-synthesis value 'none'
Fail Property font-synthesis value 'weight' Fail Property font-synthesis value 'weight'
Fail Property font-synthesis value 'style' Fail Property font-synthesis value 'style'
Fail Property font-synthesis value 'oblique-only'
Fail Property font-synthesis value 'small-caps' Fail Property font-synthesis value 'small-caps'
Fail Property font-synthesis value 'position' Fail Property font-synthesis value 'position'
Fail Property font-synthesis value 'small-caps position' Fail Property font-synthesis value 'small-caps position'
Fail Property font-synthesis value 'style small-caps' Fail Property font-synthesis value 'style small-caps'
Fail Property font-synthesis value 'style position' Fail Property font-synthesis value 'style position'
Fail Property font-synthesis value 'style small-caps position' Fail Property font-synthesis value 'style small-caps position'
Fail Property font-synthesis value 'oblique-only small-caps'
Fail Property font-synthesis value 'oblique-only position'
Fail Property font-synthesis value 'oblique-only small-caps position'
Fail Property font-synthesis value 'weight small-caps' Fail Property font-synthesis value 'weight small-caps'
Fail Property font-synthesis value 'weight style' Fail Property font-synthesis value 'weight style'
Fail Property font-synthesis value 'weight oblique-only'
Fail Property font-synthesis value 'weight position' Fail Property font-synthesis value 'weight position'
Fail Property font-synthesis value 'weight style small-caps' Fail Property font-synthesis value 'weight style small-caps'
Fail Property font-synthesis value 'weight style small-caps position' Fail Property font-synthesis value 'weight style small-caps position'
Fail Property font-synthesis value 'weight oblique-only small-caps'
Fail Property font-synthesis value 'weight oblique-only small-caps position'

View file

@ -1,13 +1,17 @@
Harness status: OK Harness status: OK
Found 8 tests Found 12 tests
8 Pass 12 Pass
Pass e.style['font-synthesis'] = "auto" should not set the property value Pass e.style['font-synthesis'] = "auto" should not set the property value
Pass e.style['font-synthesis'] = "none weight" should not set the property value Pass e.style['font-synthesis'] = "none weight" should not set the property value
Pass e.style['font-synthesis'] = "none style" should not set the property value Pass e.style['font-synthesis'] = "none style" should not set the property value
Pass e.style['font-synthesis'] = "none oblique-only" should not set the property value
Pass e.style['font-synthesis'] = "none position" should not set the property value Pass e.style['font-synthesis'] = "none position" should not set the property value
Pass e.style['font-synthesis'] = "style none" should not set the property value Pass e.style['font-synthesis'] = "style none" should not set the property value
Pass e.style['font-synthesis'] = "style oblique-only" should not set the property value
Pass e.style['font-synthesis'] = "oblique-only style" should not set the property value
Pass e.style['font-synthesis'] = "oblique-only none" should not set the property value
Pass e.style['font-synthesis'] = "none small-caps" should not set the property value Pass e.style['font-synthesis'] = "none small-caps" should not set the property value
Pass e.style['font-synthesis'] = "small-caps none" should not set the property value Pass e.style['font-synthesis'] = "small-caps none" should not set the property value
Pass e.style['font-synthesis'] = "position none" should not set the property value Pass e.style['font-synthesis'] = "position none" should not set the property value

View file

@ -1,7 +1,9 @@
Harness status: OK Harness status: OK
Found 2 tests Found 4 tests
2 Pass 4 Pass
Pass e.style['font-synthesis-style'] = "normal" should not set the property value Pass e.style['font-synthesis-style'] = "normal" should not set the property value
Pass e.style['font-synthesis-style'] = "auto none" should not set the property value Pass e.style['font-synthesis-style'] = "auto none" should not set the property value
Pass e.style['font-synthesis-style'] = "none oblique-only" should not set the property value
Pass e.style['font-synthesis-style'] = "oblique-only auto" should not set the property value

View file

@ -1,7 +1,8 @@
Harness status: OK Harness status: OK
Found 2 tests Found 3 tests
2 Fail 3 Fail
Fail e.style['font-synthesis-style'] = "auto" should set the property value Fail e.style['font-synthesis-style'] = "auto" should set the property value
Fail e.style['font-synthesis-style'] = "none" should set the property value Fail e.style['font-synthesis-style'] = "none" should set the property value
Fail e.style['font-synthesis-style'] = "oblique-only" should set the property value

View file

@ -1,19 +1,28 @@
Harness status: OK Harness status: OK
Found 14 tests Found 23 tests
14 Fail 23 Fail
Fail e.style['font-synthesis'] = "none" should set the property value Fail e.style['font-synthesis'] = "none" should set the property value
Fail e.style['font-synthesis'] = "weight" should set the property value Fail e.style['font-synthesis'] = "weight" should set the property value
Fail e.style['font-synthesis'] = "style" should set the property value Fail e.style['font-synthesis'] = "style" should set the property value
Fail e.style['font-synthesis'] = "oblique-only" should set the property value
Fail e.style['font-synthesis'] = "small-caps" should set the property value Fail e.style['font-synthesis'] = "small-caps" should set the property value
Fail e.style['font-synthesis'] = "position" should set the property value Fail e.style['font-synthesis'] = "position" should set the property value
Fail e.style['font-synthesis'] = "style weight" should set the property value Fail e.style['font-synthesis'] = "style weight" should set the property value
Fail e.style['font-synthesis'] = "oblique-only weight" should set the property value
Fail e.style['font-synthesis'] = "small-caps weight" should set the property value Fail e.style['font-synthesis'] = "small-caps weight" should set the property value
Fail e.style['font-synthesis'] = "small-caps style" should set the property value Fail e.style['font-synthesis'] = "small-caps style" should set the property value
Fail e.style['font-synthesis'] = "small-caps oblique-only" should set the property value
Fail e.style['font-synthesis'] = "style weight small-caps" should set the property value Fail e.style['font-synthesis'] = "style weight small-caps" should set the property value
Fail e.style['font-synthesis'] = "style small-caps weight " should set the property value Fail e.style['font-synthesis'] = "style small-caps weight " should set the property value
Fail e.style['font-synthesis'] = "small-caps style weight " should set the property value Fail e.style['font-synthesis'] = "small-caps style weight " should set the property value
Fail e.style['font-synthesis'] = "oblique-only weight small-caps" should set the property value
Fail e.style['font-synthesis'] = "oblique-only small-caps weight " should set the property value
Fail e.style['font-synthesis'] = "small-caps oblique-only weight " should set the property value
Fail e.style['font-synthesis'] = "position style" should set the property value Fail e.style['font-synthesis'] = "position style" should set the property value
Fail e.style['font-synthesis'] = "position oblique-only" should set the property value
Fail e.style['font-synthesis'] = "position weight style" should set the property value Fail e.style['font-synthesis'] = "position weight style" should set the property value
Fail e.style['font-synthesis'] = "position weight small-caps style" should set the property value Fail e.style['font-synthesis'] = "position weight oblique-only" should set the property value
Fail e.style['font-synthesis'] = "position weight small-caps style" should set the property value
Fail e.style['font-synthesis'] = "position weight small-caps oblique-only" should set the property value

View file

@ -1,9 +1,9 @@
Harness status: OK Harness status: OK
Found 30 tests Found 33 tests
18 Pass 18 Pass
12 Fail 15 Fail
Pass Property grid-area value 'auto / auto / auto / auto' Pass Property grid-area value 'auto / auto / auto / auto'
Pass Property grid-row value 'auto / auto' Pass Property grid-row value 'auto / auto'
Pass Property grid-column-end value 'auto' Pass Property grid-column-end value 'auto'
@ -19,6 +19,9 @@ Pass Property grid-row-start value '9 -Z_'
Pass Property grid-column-start value '-44 Z' Pass Property grid-column-start value '-44 Z'
Pass Property grid-row-end value '1 -πA' Pass Property grid-row-end value '1 -πA'
Pass Property grid-column-end value '5 π_' Pass Property grid-column-end value '5 π_'
Fail Property grid-row-start value 'calc(1.1) -a-'
Fail Property grid-row-start value 'calc(10) -a-'
Fail Property grid-row-start value 'calc(10 + (sign(2cqw - 10px) * 5)) -a-'
Fail Property grid-area value 'span 2 i / auto / auto / auto' Fail Property grid-area value 'span 2 i / auto / auto / auto'
Pass Property grid-row value 'span 2 / auto' Pass Property grid-row value 'span 2 / auto'
Fail Property grid-column-start value 'span 1 i' Fail Property grid-column-start value 'span 1 i'

View file

@ -1,9 +1,9 @@
Harness status: OK Harness status: OK
Found 121 tests Found 141 tests
84 Pass 98 Pass
37 Fail 43 Fail
Fail e.style.cssText = grid: auto-flow auto / 100px 100px should set grid Fail e.style.cssText = grid: auto-flow auto / 100px 100px should set grid
Fail e.style.cssText = grid: auto-flow auto / 100px 100px should set grid-template-areas Fail e.style.cssText = grid: auto-flow auto / 100px 100px should set grid-template-areas
Pass e.style.cssText = grid: auto-flow auto / 100px 100px; grid-template-areas: "one two" "three four" should set grid Pass e.style.cssText = grid: auto-flow auto / 100px 100px; grid-template-areas: "one two" "three four" should set grid
@ -109,6 +109,26 @@ Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(au
Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(auto-fit, 3px) should set grid-auto-rows Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(auto-fit, 3px) should set grid-auto-rows
Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(auto-fit, 3px) should set grid-template-columns Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(auto-fit, 3px) should set grid-template-columns
Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(auto-fit, 3px) should set grid-template-rows Pass e.style.cssText = grid: auto-flow 1px / none; grid-template-rows: repeat(auto-fit, 3px) should set grid-template-rows
Fail e.style.cssText = grid-template: none; should set grid
Pass e.style.cssText = grid-template: none; should set grid-template
Pass e.style.cssText = grid-template: none; should set grid-template-areas
Pass e.style.cssText = grid-template: none; should set grid-template-columns
Pass e.style.cssText = grid-template: none; should set grid-template-rows
Fail e.style.cssText = grid-template: auto / auto; should set grid
Pass e.style.cssText = grid-template: auto / auto; should set grid-template
Pass e.style.cssText = grid-template: auto / auto; should set grid-template-areas
Pass e.style.cssText = grid-template: auto / auto; should set grid-template-columns
Pass e.style.cssText = grid-template: auto / auto; should set grid-template-rows
Fail e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto should set grid
Fail e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto should set grid-template
Pass e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto should set grid-template-areas
Pass e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto should set grid-template-columns
Pass e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto should set grid-template-rows
Fail e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] "c c c" "d d d" / auto should set grid
Fail e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] "c c c" "d d d" / auto should set grid-template
Pass e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] "c c c" "d d d" / auto should set grid-template-areas
Pass e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] "c c c" "d d d" / auto should set grid-template-columns
Pass e.style.cssText = grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] "c c c" "d d d" / auto should set grid-template-rows
Fail e.style.cssText = grid-template-rows: auto auto; grid-template-columns: repeat(2, 3px); grid-template-areas: "one two" "three four" should set grid Fail e.style.cssText = grid-template-rows: auto auto; grid-template-columns: repeat(2, 3px); grid-template-areas: "one two" "three four" should set grid
Pass e.style.cssText = grid-template-rows: auto auto; grid-template-columns: repeat(2, 3px); grid-template-areas: "one two" "three four" should set grid-template-areas Pass e.style.cssText = grid-template-rows: auto auto; grid-template-columns: repeat(2, 3px); grid-template-areas: "one two" "three four" should set grid-template-areas
Pass e.style.cssText = grid-template-rows: auto auto; grid-template-columns: repeat(2, 3px); grid-template-areas: "one two" "three four" should set grid-template-columns Pass e.style.cssText = grid-template-rows: auto auto; grid-template-columns: repeat(2, 3px); grid-template-areas: "one two" "three four" should set grid-template-columns

View file

@ -1,11 +1,12 @@
Harness status: OK Harness status: OK
Found 5 tests Found 6 tests
2 Pass 3 Pass
3 Fail 3 Fail
Fail grid-template: none / 1px and "grid-template-areas: "a";" should be valid. Fail grid-template: none / 1px and "grid-template-areas: "a";" should be valid.
Pass grid-template: none / none and "grid-template-areas: "a";" should be valid. Pass grid-template: none / none and "grid-template-areas: "a";" should be valid.
Pass grid-template: none / none and "grid-template-areas: "a" "b" "c" "d" "e";" should be valid.
Fail grid-template: auto / 1px and "grid-template-areas: "a a a";" should be valid. Fail grid-template: auto / 1px and "grid-template-areas: "a a a";" should be valid.
Fail grid-template: auto / auto and "grid-template-areas: "a a a";" should be valid. Fail grid-template: auto / auto and "grid-template-areas: "a a a";" should be valid.
Pass grid-template: 10px 20px 30px / 40px 50px 60px 70px and "grid-template-areas: "a . b ." "c d . e" "f g h .";" should be valid. Pass grid-template: 10px 20px 30px / 40px 50px 60px 70px and "grid-template-areas: "a . b ." "c d . e" "f g h .";" should be valid.

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 24 tests Found 28 tests
24 Pass 28 Pass
Pass e.style['grid-template'] = "none" should set grid-template-areas Pass e.style['grid-template'] = "none" should set grid-template-areas
Pass e.style['grid-template'] = "none" should set grid-template-columns Pass e.style['grid-template'] = "none" should set grid-template-columns
Pass e.style['grid-template'] = "none" should set grid-template-rows Pass e.style['grid-template'] = "none" should set grid-template-rows
@ -26,4 +26,8 @@ Pass e.style['grid-template'] = " \"a a a\" \"b b b\" 1fr/ auto 1fr auto" shou
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should set grid-template-areas Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should set grid-template-areas
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should set grid-template-columns Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should set grid-template-columns
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should set grid-template-rows Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should set grid-template-rows
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should not set unrelated longhands Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] / [] auto 1fr [] auto []" should not set unrelated longhands
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] \"c c c\" / [] auto 1fr [] auto []" should set grid-template-areas
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] \"c c c\" / [] auto 1fr [] auto []" should set grid-template-columns
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] \"c c c\" / [] auto 1fr [] auto []" should set grid-template-rows
Pass e.style['grid-template'] = " [] \"a a a\" [] [] \"b b b\" 1fr [] \"c c c\" / [] auto 1fr [] auto []" should not set unrelated longhands

View file

@ -1,8 +1,9 @@
Harness status: OK Harness status: OK
Found 13 tests Found 14 tests
13 Pass 13 Pass
1 Fail
Pass CSSStyleRule is a CSSGroupingRule Pass CSSStyleRule is a CSSGroupingRule
Pass Simple CSSOM manipulation of subrules Pass Simple CSSOM manipulation of subrules
Pass Simple CSSOM manipulation of subrules 1 Pass Simple CSSOM manipulation of subrules 1
@ -15,4 +16,5 @@ Pass Simple CSSOM manipulation of subrules 7
Pass Simple CSSOM manipulation of subrules 8 Pass Simple CSSOM manipulation of subrules 8
Pass Simple CSSOM manipulation of subrules 9 Pass Simple CSSOM manipulation of subrules 9
Pass Simple CSSOM manipulation of subrules 10 Pass Simple CSSOM manipulation of subrules 10
Pass Mutating the selectorText of outer rule invalidates inner rules Pass Mutating the selectorText of outer rule invalidates inner rules
Fail Manipulation of nested declarations through CSSOM

View file

@ -2,8 +2,9 @@ Harness status: OK
Found 4 tests Found 4 tests
4 Pass 2 Pass
Pass Serialization of <generic-family> 2 Fail
Fail Serialization of <generic-family>
Pass Serialization of quoted "<generic-family>" Pass Serialization of quoted "<generic-family>"
Pass Serialization of prefixed -webkit-<generic-family> Fail Serialization of prefixed -webkit-<generic-family>
Pass Serialization of NonGenericFontFamilyName,-webkit-body,-webkit-standard,-webkit-pictograph,BlinkMacSystemFont Pass Serialization of NonGenericFontFamilyName,-webkit-body,-webkit-standard,-webkit-pictograph,emoji,fangsong,BlinkMacSystemFont

View file

@ -2,8 +2,8 @@ Harness status: OK
Found 687 tests Found 687 tests
657 Pass 658 Pass
30 Fail 29 Fail
Pass background-attachment: scroll Pass background-attachment: scroll
Pass background-attachment: fixed Pass background-attachment: fixed
Pass background-attachment: inherit Pass background-attachment: inherit
@ -334,7 +334,7 @@ Fail content: attr( |bar )
Pass content: attr(foo-bar, "fallback") Pass content: attr(foo-bar, "fallback")
Pass content: attr(foo_bar, "fallback") Pass content: attr(foo_bar, "fallback")
Fail content: attr(|bar, "fallback") Fail content: attr(|bar, "fallback")
Fail content: attr(foo, "") Pass content: attr(foo, "")
Fail content: attr( |foo , "" ) Fail content: attr( |foo , "" )
Pass content: inherit Pass content: inherit
Pass cursor: auto Pass cursor: auto

View file

@ -1,8 +1,9 @@
Harness status: OK Harness status: OK
Found 126 tests Found 138 tests
126 Pass 132 Pass
6 Fail
Pass new DOMMatrix() Pass new DOMMatrix()
Pass new DOMMatrix(undefined) Pass new DOMMatrix(undefined)
Pass new DOMMatrix(new DOMMatrix()) Pass new DOMMatrix(new DOMMatrix())
@ -27,6 +28,8 @@ Pass new DOMMatrix("scale(2) translateX(5px) translateY(5px) rotate(5deg) rotate
Pass new DOMMatrix("translateX (5px)") Pass new DOMMatrix("translateX (5px)")
Pass new DOMMatrix("scale(2 2) translateX(5) translateY(5)") Pass new DOMMatrix("scale(2 2) translateX(5) translateY(5)")
Pass new DOMMatrix("scale(2, 2), translateX(5) ,translateY(5)") Pass new DOMMatrix("scale(2, 2), translateX(5) ,translateY(5)")
Fail new DOMMatrix("scale(sign(1em))")
Pass new DOMMatrix("scale(sibling-index())")
Pass new DOMMatrix("translateX(5em)") Pass new DOMMatrix("translateX(5em)")
Pass new DOMMatrix("translateX(5ex)") Pass new DOMMatrix("translateX(5ex)")
Pass new DOMMatrix("translateX(5ch)") Pass new DOMMatrix("translateX(5ch)")
@ -44,10 +47,14 @@ Pass new DOMMatrix("translateX(5vi)")
Pass new DOMMatrix("translateX(5vmin)") Pass new DOMMatrix("translateX(5vmin)")
Pass new DOMMatrix("translateX(5vmax)") Pass new DOMMatrix("translateX(5vmax)")
Pass new DOMMatrix("translateX(5%)") Pass new DOMMatrix("translateX(5%)")
Fail new DOMMatrix("translateX(calc(10px * sign(1em - 10px)))")
Pass new DOMMatrix("translateX(calc(10px * sibling-index()))")
Pass new DOMMatrix("rotate(5)") Pass new DOMMatrix("rotate(5)")
Pass new DOMMatrix("rotate(5, 5, 5)") Pass new DOMMatrix("rotate(5, 5, 5)")
Pass new DOMMatrix("rotate(5, 5px, 5px)") Pass new DOMMatrix("rotate(5, 5px, 5px)")
Pass new DOMMatrix("rotate(5deg, 5px, 5px)") Pass new DOMMatrix("rotate(5deg, 5px, 5px)")
Fail new DOMMatrix("rotate(calc(5deg * sign(1em - 10px)))")
Pass new DOMMatrix("rotate(calc(5deg * sibling-index()))")
Pass new DOMMatrix(" ") Pass new DOMMatrix(" ")
Pass new DOMMatrix("/**/") Pass new DOMMatrix("/**/")
Pass new DOMMatrix("\0") Pass new DOMMatrix("\0")
@ -90,6 +97,8 @@ Pass new DOMMatrixReadOnly("scale(2) translateX(5px) translateY(5px) rotate(5deg
Pass new DOMMatrixReadOnly("translateX (5px)") Pass new DOMMatrixReadOnly("translateX (5px)")
Pass new DOMMatrixReadOnly("scale(2 2) translateX(5) translateY(5)") Pass new DOMMatrixReadOnly("scale(2 2) translateX(5) translateY(5)")
Pass new DOMMatrixReadOnly("scale(2, 2), translateX(5) ,translateY(5)") Pass new DOMMatrixReadOnly("scale(2, 2), translateX(5) ,translateY(5)")
Fail new DOMMatrixReadOnly("scale(sign(1em))")
Pass new DOMMatrixReadOnly("scale(sibling-index())")
Pass new DOMMatrixReadOnly("translateX(5em)") Pass new DOMMatrixReadOnly("translateX(5em)")
Pass new DOMMatrixReadOnly("translateX(5ex)") Pass new DOMMatrixReadOnly("translateX(5ex)")
Pass new DOMMatrixReadOnly("translateX(5ch)") Pass new DOMMatrixReadOnly("translateX(5ch)")
@ -107,10 +116,14 @@ Pass new DOMMatrixReadOnly("translateX(5vi)")
Pass new DOMMatrixReadOnly("translateX(5vmin)") Pass new DOMMatrixReadOnly("translateX(5vmin)")
Pass new DOMMatrixReadOnly("translateX(5vmax)") Pass new DOMMatrixReadOnly("translateX(5vmax)")
Pass new DOMMatrixReadOnly("translateX(5%)") Pass new DOMMatrixReadOnly("translateX(5%)")
Fail new DOMMatrixReadOnly("translateX(calc(10px * sign(1em - 10px)))")
Pass new DOMMatrixReadOnly("translateX(calc(10px * sibling-index()))")
Pass new DOMMatrixReadOnly("rotate(5)") Pass new DOMMatrixReadOnly("rotate(5)")
Pass new DOMMatrixReadOnly("rotate(5, 5, 5)") Pass new DOMMatrixReadOnly("rotate(5, 5, 5)")
Pass new DOMMatrixReadOnly("rotate(5, 5px, 5px)") Pass new DOMMatrixReadOnly("rotate(5, 5px, 5px)")
Pass new DOMMatrixReadOnly("rotate(5deg, 5px, 5px)") Pass new DOMMatrixReadOnly("rotate(5deg, 5px, 5px)")
Fail new DOMMatrixReadOnly("rotate(calc(5deg * sign(1em - 10px)))")
Pass new DOMMatrixReadOnly("rotate(calc(5deg * sibling-index()))")
Pass new DOMMatrixReadOnly(" ") Pass new DOMMatrixReadOnly(" ")
Pass new DOMMatrixReadOnly("/**/") Pass new DOMMatrixReadOnly("/**/")
Pass new DOMMatrixReadOnly("\0") Pass new DOMMatrixReadOnly("\0")

View file

@ -2,8 +2,7 @@ Harness status: OK
Found 3 tests Found 3 tests
2 Pass 3 Fail
1 Fail Fail The dialog element should support :open.
Pass The dialog element should support :open. Fail The details element should support :open.
Pass The details element should support :open.
Fail The select element should support :open. Fail The select element should support :open.

View file

@ -1,8 +1,9 @@
Harness status: OK Harness status: OK
Found 19 tests Found 48 tests
19 Pass 39 Pass
9 Fail
Pass el-a Pass el-a
Pass el-aside Pass el-aside
Pass el-aside-in-main Pass el-aside-in-main
@ -12,13 +13,42 @@ Pass el-aside-in-aside-with-name
Pass el-aside-in-nav-with-name Pass el-aside-in-nav-with-name
Pass el-aside-in-nav-with-role Pass el-aside-in-nav-with-role
Pass el-aside-in-section-with-name Pass el-aside-in-section-with-name
Pass el-aside-in-section-aria-labelledby
Pass el-aside-in-section-title
Pass el-footer-ancestorbody Pass el-footer-ancestorbody
Pass el-header-ancestorbody Pass el-header-ancestorbody
Fail el-img-no-name
Fail el-img-empty-alt-aria-label
Fail el-img-empty-alt-aria-labelledby
Pass el-section Pass el-section
Pass el-section-aria-labelledby
Pass el-section-title
Pass el-a-no-href Pass el-a-no-href
Pass el-aside-in-article-in-main Pass el-aside-in-article-in-main
Pass el-aside-in-article Pass el-aside-in-article
Pass el-aside-in-aside Pass el-aside-in-aside
Pass el-aside-in-nav Pass el-aside-in-nav
Pass el-aside-in-section Pass el-aside-in-section
Pass el-section-no-name Pass el-aside-in-section-aria-label-empty
Pass el-aside-in-section-aria-label-whitespace
Pass el-aside-in-section-aria-labelledby-non-existing
Fail el-aside-in-section-aria-labelledby-empty
Fail el-aside-in-section-aria-labelledby-whitespace
Pass el-aside-in-section-title-empty
Fail el-aside-in-section-title-whitespace
Pass el-img-empty-alt-aria-label-empty
Pass el-img-empty-alt-aria-label-whitespace
Pass el-img-empty-alt-aria-labelledby-non-existing
Pass el-img-empty-alt-aria-labelledby-empty
Pass el-img-empty-alt-aria-labelledby-whitespace
Pass el-img-empty-alt-title
Pass el-img-empty-alt-title-empty
Pass el-img-empty-alt-title-whitespace
Pass el-section-no-name
Pass el-section-aria-label-empty
Pass el-section-aria-label-whitespace
Pass el-section-aria-labelledby-non-existing
Fail el-section-aria-labelledby-empty
Fail el-section-aria-labelledby-whitespace
Pass el-section-title-empty
Fail el-section-title-whitespace

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 58 tests Found 59 tests
58 Pass 59 Pass
Pass el-address Pass el-address
Pass el-article Pass el-article
Pass el-blockquote Pass el-blockquote
@ -33,6 +33,7 @@ Pass el-input-radio
Pass el-input-range Pass el-input-range
Pass el-input-reset Pass el-input-reset
Pass el-input-search Pass el-input-search
Pass el-input-search-with-role
Pass el-input-submit Pass el-input-submit
Pass el-input-tel Pass el-input-tel
Pass el-input-text Pass el-input-text

View file

@ -5,17 +5,17 @@ Found 27 tests
25 Pass 25 Pass
2 Fail 2 Fail
Pass aria-activedescendant element reflection Pass aria-activedescendant element reflection
Pass aria-activedescendant If the content attribute is set directly, the IDL attribute getter always returns the first element whose ID matches the content attribute. Pass If the content attribute is set directly, the IDL attribute getter always returns the first element whose ID matches the content attribute.
Pass aria-activedescendant Setting the IDL attribute to an element which is not the first element in DOM order with its ID causes the content attribute to be an empty string Pass Setting the IDL attribute to an element which is not the first element in DOM order with its ID causes the content attribute to be an empty string
Pass aria-activedescendant Setting an element reference that crosses into a shadow tree is disallowed, but setting one that is in a shadow inclusive ancestor is allowed. Pass Setting an element reference that crosses into a shadow tree is disallowed, but setting one that is in a shadow inclusive ancestor is allowed.
Pass aria-errormessage Pass aria-errormessage
Pass ariaErrorMessageElement is not defined Pass ariaErrorMessageElement is not defined
Pass aria-details Pass aria-details
Pass aria-activedescendant Deleting a reflected element should return null for the IDL attribute and the content attribute will be empty. Pass Deleting a reflected element should return null for the IDL attribute and the content attribute will be empty.
Pass aria-activedescendant Changing the ID of an element doesn't lose the reference. Pass Changing the ID of an element doesn't lose the reference.
Pass aria-activedescendant Reparenting an element into a descendant shadow scope hides the element reference. Pass Reparenting an element into a descendant shadow scope hides the element reference.
Pass aria-activedescendant Reparenting referenced element cannot cause retargeting of reference. Pass Reparenting referenced element cannot cause retargeting of reference.
Pass aria-activedescendant Element reference set in invalid scope remains intact throughout move to valid scope. Pass Element reference set in invalid scope remains intact throughout move to valid scope.
Pass aria-labelledby. Pass aria-labelledby.
Pass aria-controls. Pass aria-controls.
Pass aria-describedby. Pass aria-describedby.
@ -24,10 +24,10 @@ Pass aria-owns.
Fail shadow DOM behaviour for FrozenArray element reflection. Fail shadow DOM behaviour for FrozenArray element reflection.
Fail Moving explicitly set elements across shadow DOM boundaries. Fail Moving explicitly set elements across shadow DOM boundaries.
Pass Moving explicitly set elements around within the same scope, and removing from the DOM. Pass Moving explicitly set elements around within the same scope, and removing from the DOM.
Pass aria-activedescendant Reparenting. Pass Reparenting.
Pass aria-activedescendant Attaching element reference before it's inserted into the DOM. Pass Attaching element reference before it's inserted into the DOM.
Pass aria-activedescendant Cross-document references and moves. Pass Cross-document references and moves.
Pass aria-activedescendant Adopting element keeps references. Pass Adopting element keeps references.
Pass Caching invariant different attributes. Pass Caching invariant different attributes.
Pass Caching invariant different elements. Pass Caching invariant different elements.
Pass Passing values of the wrong type should throw a TypeError Pass Passing values of the wrong type should throw a TypeError

View file

@ -1,9 +1,9 @@
Harness status: OK Harness status: OK
Found 271 tests Found 272 tests
210 Pass 210 Pass
61 Fail 62 Fail
Pass Simplest possible test ("<div>abc") Pass Simplest possible test ("<div>abc")
Fail Leading whitespace removed ("<div> abc") Fail Leading whitespace removed ("<div> abc")
Fail Trailing whitespace removed ("<div>abc ") Fail Trailing whitespace removed ("<div>abc ")
@ -78,6 +78,7 @@ Pass Soft breaks ignored, text-transform applied ("<div style='width:1px; word-b
Fail <br> returned as newline, following space collapsed ("<div style='width:1px; word-break:break-word'>Hello<br> Kitty</div>") Fail <br> returned as newline, following space collapsed ("<div style='width:1px; word-break:break-word'>Hello<br> Kitty</div>")
Fail <br> returned as newline, preceding space collapsed ("<div style='width:1px; word-break:break-word'>Hello <br>Kitty</div>") Fail <br> returned as newline, preceding space collapsed ("<div style='width:1px; word-break:break-word'>Hello <br>Kitty</div>")
Fail <br> returned as newline, adjacent spaces collapsed across element boundaries ("<div style='width:1px; word-break:break-word'><x>Hello </x> <br> <x> Kitty</x></div>") Fail <br> returned as newline, adjacent spaces collapsed across element boundaries ("<div style='width:1px; word-break:break-word'><x>Hello </x> <br> <x> Kitty</x></div>")
Fail ::first-line styles applied ("<div class='first-line-uppercase'>abc")
Fail ::first-line styles applied ("<div class='first-line-uppercase' style='width:0'>abc def") Fail ::first-line styles applied ("<div class='first-line-uppercase' style='width:0'>abc def")
Fail ::first-letter styles applied ("<div class='first-letter-uppercase' style='width:0'>abc def") Fail ::first-letter styles applied ("<div class='first-letter-uppercase' style='width:0'>abc def")
Pass ::first-letter float ignored ("<div class='first-letter-float' style='width:0'>abc def") Pass ::first-letter float ignored ("<div class='first-letter-float' style='width:0'>abc def")

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 132 tests Found 130 tests
132 Pass 130 Pass
Pass [INPUT in TEXT status] no constraint Pass [INPUT in TEXT status] no constraint
Pass [INPUT in TEXT status] no constraint (in a form) Pass [INPUT in TEXT status] no constraint (in a form)
Pass [INPUT in TEXT status] not suffering from being too long Pass [INPUT in TEXT status] not suffering from being too long
@ -111,8 +111,6 @@ Pass [INPUT in NUMBER status] suffering from an underflow
Pass [INPUT in NUMBER status] suffering from an underflow (in a form) Pass [INPUT in NUMBER status] suffering from an underflow (in a form)
Pass [INPUT in NUMBER status] suffering from a step mismatch Pass [INPUT in NUMBER status] suffering from a step mismatch
Pass [INPUT in NUMBER status] suffering from a step mismatch (in a form) Pass [INPUT in NUMBER status] suffering from a step mismatch (in a form)
Pass [INPUT in NUMBER status] (with 'value' content attribute) suffering from a step mismatch
Pass [INPUT in NUMBER status] (with 'value' content attribute) suffering from a step mismatch (in a form)
Pass [INPUT in NUMBER status] suffering from being missing Pass [INPUT in NUMBER status] suffering from being missing
Pass [INPUT in NUMBER status] suffering from being missing (in a form) Pass [INPUT in NUMBER status] suffering from being missing (in a form)
Pass [INPUT in CHECKBOX status] no constraint Pass [INPUT in CHECKBOX status] no constraint

View file

@ -1,7 +1,8 @@
Harness status: OK Harness status: OK
Found 2 tests Found 3 tests
2 Pass 3 Pass
Pass switch IDL attribute, setter Pass switch IDL attribute, setter
Pass switch IDL attribute, getter Pass switch IDL attribute, getter
Pass Cloning a switch control

View file

@ -2,8 +2,9 @@ Harness status: OK
Found 4 tests Found 4 tests
4 Pass 3 Pass
1 Fail
Pass options Pass options
Pass optgroups Pass optgroups
Pass option is child of div Fail option is child of div
Pass no options Pass no options

View file

@ -1,27 +1,32 @@
Harness status: OK Harness status: OK
Found 21 tests Found 27 tests
18 Pass 27 Pass
3 Fail
Pass Button with id reset-in-form should reflect type correctly Pass Button with id reset-in-form should reflect type correctly
Pass Button with id submit-in-form should reflect type correctly Pass Button with id submit-in-form should reflect type correctly
Pass Button with id button-in-form should reflect type correctly Pass Button with id button-in-form should reflect type correctly
Fail Button with id invalid-in-form should reflect type correctly Pass Button with id invalid-in-form should reflect type correctly
Pass Button with id invalid-in-form-command-only should reflect type correctly
Pass Button with id invalid-in-form-commandfor-only should reflect type correctly
Pass Button with id missing-in-form should reflect type correctly Pass Button with id missing-in-form should reflect type correctly
Pass Button with id missing-in-form-command-only should reflect type correctly Pass Button with id missing-in-form-command-only should reflect type correctly
Pass Button with id missing-in-form-commandfor-only should reflect type correctly Pass Button with id missing-in-form-commandfor-only should reflect type correctly
Pass Button with id reset-attr-form should reflect type correctly Pass Button with id reset-attr-form should reflect type correctly
Pass Button with id submit-attr-form should reflect type correctly Pass Button with id submit-attr-form should reflect type correctly
Pass Button with id button-attr-form should reflect type correctly Pass Button with id button-attr-form should reflect type correctly
Fail Button with id invalid-attr-form should reflect type correctly Pass Button with id invalid-attr-form should reflect type correctly
Pass Button with id invalid-attr-form-command-only should reflect type correctly
Pass Button with id invalid-attr-form-commandfor-only should reflect type correctly
Pass Button with id missing-attr-form should reflect type correctly Pass Button with id missing-attr-form should reflect type correctly
Pass Button with id missing-attr-form-command-only should reflect type correctly Pass Button with id missing-attr-form-command-only should reflect type correctly
Pass Button with id missing-attr-form-commandfor-only should reflect type correctly Pass Button with id missing-attr-form-commandfor-only should reflect type correctly
Pass Button with id reset-outside-form should reflect type correctly Pass Button with id reset-outside-form should reflect type correctly
Pass Button with id submit-outside-form should reflect type correctly Pass Button with id submit-outside-form should reflect type correctly
Pass Button with id button-outside-form should reflect type correctly Pass Button with id button-outside-form should reflect type correctly
Fail Button with id invalid-outside-form should reflect type correctly Pass Button with id invalid-outside-form should reflect type correctly
Pass Button with id invalid-outside-form-command-only should reflect type correctly
Pass Button with id invalid-outside-form-commandfor-only should reflect type correctly
Pass Button with id missing-outside-form should reflect type correctly Pass Button with id missing-outside-form should reflect type correctly
Pass Button with id missing-outside-form-command-only should reflect type correctly Pass Button with id missing-outside-form-command-only should reflect type correctly
Pass Button with id missing-outside-form-commandfor-only should reflect type correctly Pass Button with id missing-outside-form-commandfor-only should reflect type correctly

View file

@ -1,8 +1,9 @@
Harness status: OK Harness status: OK
Found 27 tests Found 28 tests
27 Pass 27 Pass
1 Fail
Pass changing command attribute inside invokeevent doesn't impact the invocation Pass changing command attribute inside invokeevent doesn't impact the invocation
Pass invoking (as toggle-popover) closed popover opens Pass invoking (as toggle-popover) closed popover opens
Pass invoking (as toggle-popover) closed popover with preventDefault does not open Pass invoking (as toggle-popover) closed popover with preventDefault does not open
@ -29,4 +30,5 @@ Pass invoking (as hIdE-pOpOvEr) open popover with preventDefault does not close
Pass invoking (as hIdE-pOpOvEr) from within open popover closes Pass invoking (as hIdE-pOpOvEr) from within open popover closes
Pass invoking (as hIdE-pOpOvEr) from within open popover with preventDefault does not close Pass invoking (as hIdE-pOpOvEr) from within open popover with preventDefault does not close
Pass invoking (as show-popover) open popover is noop Pass invoking (as show-popover) open popover is noop
Pass invoking (as hide-popover) closed popover is noop Pass invoking (as hide-popover) closed popover is noop
Fail invoking (as show-popover) should create an implicit anchor reference for anchor positioning.

View file

@ -2,8 +2,7 @@ Harness status: OK
Found 33 tests Found 33 tests
32 Pass 33 Pass
1 Fail
Pass html5lib_plain-text-unsafe.html 7e4ca4cb5e73852744a876bf8652dd2c8998d94a Pass html5lib_plain-text-unsafe.html 7e4ca4cb5e73852744a876bf8652dd2c8998d94a
Pass html5lib_plain-text-unsafe.html e552342bdd3ac62316bd91126556512683f3d4a9 Pass html5lib_plain-text-unsafe.html e552342bdd3ac62316bd91126556512683f3d4a9
Pass html5lib_plain-text-unsafe.html 9112cef60139e6988b66334e522777329051442a Pass html5lib_plain-text-unsafe.html 9112cef60139e6988b66334e522777329051442a
@ -27,7 +26,7 @@ Pass html5lib_plain-text-unsafe.html 4b9e317cba617324fea77a4e525602b3ad2717ef
Pass html5lib_plain-text-unsafe.html a1e08cb99d89381a1c997fcd60bad23c029c4500 Pass html5lib_plain-text-unsafe.html a1e08cb99d89381a1c997fcd60bad23c029c4500
Pass html5lib_plain-text-unsafe.html 26d850208425cc885d4d0143909cf341f61fa1f1 Pass html5lib_plain-text-unsafe.html 26d850208425cc885d4d0143909cf341f61fa1f1
Pass html5lib_plain-text-unsafe.html 68f0365c01dc386c706edd2b18672f9d85caaa2e Pass html5lib_plain-text-unsafe.html 68f0365c01dc386c706edd2b18672f9d85caaa2e
Fail html5lib_plain-text-unsafe.html e415a2e7cf090e2c308af905d52c5f8163ae52ce Pass html5lib_plain-text-unsafe.html e415a2e7cf090e2c308af905d52c5f8163ae52ce
Pass html5lib_plain-text-unsafe.html 822702de65b80ec8e79da19335ab9d6a49f6ec6a Pass html5lib_plain-text-unsafe.html 822702de65b80ec8e79da19335ab9d6a49f6ec6a
Pass html5lib_plain-text-unsafe.html ee8b017ab043ff51b593787961626acb4c6488cd Pass html5lib_plain-text-unsafe.html ee8b017ab043ff51b593787961626acb4c6488cd
Pass html5lib_plain-text-unsafe.html 304960c795639128844445166238350682ba0516 Pass html5lib_plain-text-unsafe.html 304960c795639128844445166238350682ba0516

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 40 tests Found 33 tests
22 Pass 15 Pass
18 Fail 18 Fail
Pass Test that decodingInfo rejects if it doesn't get a configuration Pass Test that decodingInfo rejects if it doesn't get a configuration
Pass Test that decodingInfo rejects if the MediaConfiguration isn't valid Pass Test that decodingInfo rejects if the MediaConfiguration isn't valid
@ -21,13 +21,6 @@ Fail Test that decodingInfo rejects if the video configuration contentType has o
Fail Test that decodingInfo rejects if the video configuration contentType does not imply a single media codec but has no codecs parameter Fail Test that decodingInfo rejects if the video configuration contentType does not imply a single media codec but has no codecs parameter
Fail Test that decodingInfo rejects if the video configuration contentType has a codecs parameter that indicates multiple video codecs Fail Test that decodingInfo rejects if the video configuration contentType has a codecs parameter that indicates multiple video codecs
Fail Test that decodingInfo rejects if the video configuration contentType has a codecs parameter that indicates both an audio and a video codec Fail Test that decodingInfo rejects if the video configuration contentType has a codecs parameter that indicates both an audio and a video codec
Pass Test that decodingInfo rejects framerate in the form of x/y
Pass Test that decodingInfo rejects framerate in the form of x/0
Pass Test that decodingInfo rejects framerate in the form of 0/y
Pass Test that decodingInfo rejects framerate in the form of -x/y
Pass Test that decodingInfo rejects framerate in the form of x/-y
Pass Test that decodingInfo rejects framerate in the form of x/
Pass Test that decodingInfo rejects framerate with trailing unallowed characters
Pass Test that decodingInfo rejects if the audio configuration contentType doesn't parse Pass Test that decodingInfo rejects if the audio configuration contentType doesn't parse
Fail Test that decodingInfo rejects if the audio configuration contentType is not a valid MIME type string Fail Test that decodingInfo rejects if the audio configuration contentType is not a valid MIME type string
Pass Test that decodingInfo rejects if the audio configuration contentType isn't of type audio Pass Test that decodingInfo rejects if the audio configuration contentType isn't of type audio

View file

@ -168,7 +168,7 @@ Pass button.ariaLabelledByElements has reflection behavior ReflectsHostInArray w
Pass button.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass button.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass button.commandForElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Pass button.commandForElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup
Pass button.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Pass button.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup
Fail button.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail button.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
@ -322,7 +322,7 @@ Pass input.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to datalist with reference target with imperative setup Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to datalist with reference target with imperative setup
Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to datalist with reference target with imperative setup Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to datalist with reference target with imperative setup
Pass input.form has reflection behavior IsNull when pointing to datalist with reference target with imperative setup Pass input.form has reflection behavior IsNull when pointing to datalist with reference target with imperative setup
Fail input.list has reflection behavior ReflectsHost when pointing to datalist with reference target with imperative setup Fail input.list has reflection behavior ReflectsHostReadOnly when pointing to datalist with reference target with imperative setup
Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup
Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
@ -332,7 +332,7 @@ Pass input.ariaFlowToElements has reflection behavior ReflectsHostInArray when p
Pass input.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass input.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup
Fail input.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail input.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass input.list has reflection behavior IsNull when pointing to form with reference target with imperative setup Pass input.list has reflection behavior IsNull when pointing to form with reference target with imperative setup
Pass meter.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass meter.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass meter.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass meter.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
@ -603,7 +603,7 @@ Pass output.ariaFlowToElements has reflection behavior ReflectsHostInArray when
Pass output.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass output.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass output.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass output.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass output.htmlFor has reflection behavior ReflectsHostIDInDOMTokenList when pointing to form with reference target with imperative setup Pass output.htmlFor has reflection behavior ReflectsHostIDInDOMTokenList when pointing to form with reference target with imperative setup
Fail output.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail output.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass progress.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass progress.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass progress.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass progress.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
Pass progress.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass progress.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
@ -858,7 +858,7 @@ Pass select.ariaErrorMessageElements has reflection behavior ReflectsHostInArray
Pass select.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass select.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass select.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass select.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass select.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass select.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Fail select.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail select.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass textarea.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass textarea.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass textarea.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass textarea.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
Pass textarea.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass textarea.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
@ -993,7 +993,7 @@ Pass textarea.ariaErrorMessageElements has reflection behavior ReflectsHostInArr
Pass textarea.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass textarea.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass textarea.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass textarea.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass textarea.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass textarea.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Fail textarea.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail textarea.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass div.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass div.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass div.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass div.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
Pass div.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass div.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
@ -1248,7 +1248,7 @@ Pass object.ariaErrorMessageElements has reflection behavior ReflectsHostInArray
Pass object.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass object.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass object.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass object.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass object.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass object.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Fail object.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail object.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
@ -1259,7 +1259,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to button with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to button with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to button with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to button with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to button with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to input with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to input with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to input with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to input with reference target with imperative setup
@ -1270,7 +1270,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to input with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to input with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to input with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to input with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to input with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to input with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to meter with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to meter with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target with imperative setup
@ -1281,7 +1281,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to meter with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to meter with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to meter with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to meter with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to meter with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to meter with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to output with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to output with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to output with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to output with reference target with imperative setup
@ -1292,7 +1292,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to output with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to output with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to output with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to output with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to output with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to output with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to progress with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to progress with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target with imperative setup
@ -1303,7 +1303,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to progress with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to progress with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to progress with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to progress with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to progress with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to progress with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to select with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to select with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to select with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to select with reference target with imperative setup
@ -1314,7 +1314,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to select with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to select with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to select with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to select with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to select with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to select with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to textarea with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to textarea with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target with imperative setup
@ -1325,7 +1325,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target with imperative setup Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target with imperative setup
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to textarea with reference target with imperative setup Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to textarea with reference target with imperative setup
Pass label.form has reflection behavior IsNull when pointing to textarea with reference target with imperative setup Pass label.form has reflection behavior IsNull when pointing to textarea with reference target with imperative setup
Fail label.control has reflection behavior ReflectsHost when pointing to textarea with reference target with imperative setup Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to textarea with reference target with imperative setup
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to div with reference target with imperative setup Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to div with reference target with imperative setup
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to div with reference target with imperative setup Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to div with reference target with imperative setup
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to div with reference target with imperative setup Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to div with reference target with imperative setup
@ -1548,7 +1548,7 @@ Pass fieldset.ariaErrorMessageElements has reflection behavior ReflectsHostInArr
Pass fieldset.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass fieldset.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass fieldset.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass fieldset.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Pass fieldset.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup Pass fieldset.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target with imperative setup
Fail fieldset.form has reflection behavior ReflectsHost when pointing to form with reference target with imperative setup Fail fieldset.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target with imperative setup
Pass legend.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass legend.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup
Pass legend.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup Pass legend.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target with imperative setup
Pass legend.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup Pass legend.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target with imperative setup

View file

@ -168,7 +168,7 @@ Pass button.ariaLabelledByElements has reflection behavior ReflectsHostInArray w
Pass button.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass button.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass button.commandForElement has reflection behavior ReflectsHost when pointing to form with reference target Pass button.commandForElement has reflection behavior ReflectsHost when pointing to form with reference target
Pass button.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target Pass button.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target
Fail button.form has reflection behavior ReflectsHost when pointing to form with reference target Fail button.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
@ -322,7 +322,7 @@ Pass input.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to datalist with reference target Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to datalist with reference target
Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to datalist with reference target Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to datalist with reference target
Pass input.form has reflection behavior IsNull when pointing to datalist with reference target Pass input.form has reflection behavior IsNull when pointing to datalist with reference target
Fail input.list has reflection behavior ReflectsHost when pointing to datalist with reference target Fail input.list has reflection behavior ReflectsHostReadOnly when pointing to datalist with reference target
Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass input.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to form with reference target Pass input.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to form with reference target
Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass input.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
@ -332,7 +332,7 @@ Pass input.ariaFlowToElements has reflection behavior ReflectsHostInArray when p
Pass input.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass input.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass input.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target Pass input.popoverTargetElement has reflection behavior ReflectsHost when pointing to form with reference target
Fail input.form has reflection behavior ReflectsHost when pointing to form with reference target Fail input.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass input.list has reflection behavior IsNull when pointing to form with reference target Pass input.list has reflection behavior IsNull when pointing to form with reference target
Pass meter.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass meter.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass meter.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass meter.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
@ -603,7 +603,7 @@ Pass output.ariaFlowToElements has reflection behavior ReflectsHostInArray when
Pass output.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass output.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass output.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass output.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass output.htmlFor has reflection behavior ReflectsHostIDInDOMTokenList when pointing to form with reference target Pass output.htmlFor has reflection behavior ReflectsHostIDInDOMTokenList when pointing to form with reference target
Fail output.form has reflection behavior ReflectsHost when pointing to form with reference target Fail output.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass progress.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass progress.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass progress.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass progress.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
Pass progress.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass progress.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
@ -858,7 +858,7 @@ Pass select.ariaErrorMessageElements has reflection behavior ReflectsHostInArray
Pass select.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass select.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass select.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass select.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass select.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass select.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Fail select.form has reflection behavior ReflectsHost when pointing to form with reference target Fail select.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass textarea.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass textarea.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass textarea.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass textarea.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
Pass textarea.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass textarea.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
@ -993,7 +993,7 @@ Pass textarea.ariaErrorMessageElements has reflection behavior ReflectsHostInArr
Pass textarea.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass textarea.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass textarea.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass textarea.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass textarea.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass textarea.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Fail textarea.form has reflection behavior ReflectsHost when pointing to form with reference target Fail textarea.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass div.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass div.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass div.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass div.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
Pass div.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass div.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
@ -1248,7 +1248,7 @@ Pass object.ariaErrorMessageElements has reflection behavior ReflectsHostInArray
Pass object.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass object.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass object.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass object.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass object.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass object.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Fail object.form has reflection behavior ReflectsHost when pointing to form with reference target Fail object.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
@ -1259,7 +1259,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to button with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to button with reference target
Pass label.form has reflection behavior IsNull when pointing to button with reference target Pass label.form has reflection behavior IsNull when pointing to button with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to button with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to button with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to input with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to input with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to input with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to input with reference target
@ -1270,7 +1270,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to input with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to input with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to input with reference target
Pass label.form has reflection behavior IsNull when pointing to input with reference target Pass label.form has reflection behavior IsNull when pointing to input with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to input with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to input with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to meter with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to meter with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target
@ -1281,7 +1281,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to meter with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to meter with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to meter with reference target
Pass label.form has reflection behavior IsNull when pointing to meter with reference target Pass label.form has reflection behavior IsNull when pointing to meter with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to meter with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to meter with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to output with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to output with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to output with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to output with reference target
@ -1292,7 +1292,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to output with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to output with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to output with reference target
Pass label.form has reflection behavior IsNull when pointing to output with reference target Pass label.form has reflection behavior IsNull when pointing to output with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to output with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to output with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to progress with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to progress with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target
@ -1303,7 +1303,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to progress with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to progress with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to progress with reference target
Pass label.form has reflection behavior IsNull when pointing to progress with reference target Pass label.form has reflection behavior IsNull when pointing to progress with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to progress with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to progress with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to select with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to select with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to select with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to select with reference target
@ -1314,7 +1314,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to select with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to select with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to select with reference target
Pass label.form has reflection behavior IsNull when pointing to select with reference target Pass label.form has reflection behavior IsNull when pointing to select with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to select with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to select with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to textarea with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to textarea with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target
@ -1325,7 +1325,7 @@ Pass label.ariaLabelledByElements has reflection behavior ReflectsHostInArray wh
Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target Pass label.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to textarea with reference target
Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to textarea with reference target Pass label.htmlFor has reflection behavior ReflectsHostID when pointing to textarea with reference target
Pass label.form has reflection behavior IsNull when pointing to textarea with reference target Pass label.form has reflection behavior IsNull when pointing to textarea with reference target
Fail label.control has reflection behavior ReflectsHost when pointing to textarea with reference target Fail label.control has reflection behavior ReflectsHostReadOnly when pointing to textarea with reference target
Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to div with reference target Pass label.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to div with reference target
Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to div with reference target Pass label.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to div with reference target
Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to div with reference target Pass label.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to div with reference target
@ -1548,7 +1548,7 @@ Pass fieldset.ariaErrorMessageElements has reflection behavior ReflectsHostInArr
Pass fieldset.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass fieldset.ariaFlowToElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass fieldset.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass fieldset.ariaLabelledByElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Pass fieldset.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target Pass fieldset.ariaOwnsElements has reflection behavior ReflectsHostInArray when pointing to form with reference target
Fail fieldset.form has reflection behavior ReflectsHost when pointing to form with reference target Fail fieldset.form has reflection behavior ReflectsHostReadOnly when pointing to form with reference target
Pass legend.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass legend.ariaControlsElements has reflection behavior ReflectsHostInArray when pointing to button with reference target
Pass legend.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target Pass legend.ariaActiveDescendantElement has reflection behavior ReflectsHost when pointing to button with reference target
Pass legend.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target Pass legend.ariaDescribedByElements has reflection behavior ReflectsHostInArray when pointing to button with reference target

View file

@ -1,8 +1,8 @@
Harness status: OK Harness status: OK
Found 62 tests Found 65 tests
62 Pass 65 Pass
Pass Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject Pass Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject
Pass Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one Pass Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one
Pass abort() on a released writer rejects Pass abort() on a released writer rejects
@ -64,4 +64,7 @@ Pass the abort signal is signalled synchronously - close
Pass the abort signal is not signalled on error Pass the abort signal is not signalled on error
Pass the abort signal is not signalled on write failure Pass the abort signal is not signalled on write failure
Pass the abort signal is not signalled on close failure Pass the abort signal is not signalled on close failure
Pass recursive abort() call Pass recursive abort() call from abort() aborting signal (not started)
Pass recursive abort() call from abort() aborting signal
Pass recursive close() call from abort() aborting signal (not started)
Pass recursive close() call from abort() aborting signal

View file

@ -1 +1,6 @@
QuotaExceededError: Unable to store more than 5242880 bytes in storage Harness status: OK
Found 1 tests
1 Pass
Pass Throws QuotaExceededError when the quota has been exceeded

View file

@ -1 +1,6 @@
QuotaExceededError: Unable to store more than 5242880 bytes in storage Harness status: OK
Found 1 tests
1 Pass
Pass Throws QuotaExceededError when the quota has been exceeded

View file

@ -265,7 +265,7 @@ async_test(t => {
assert_true(db3.objectStoreNames.contains("store"), "third objectStoreNames contains store"); assert_true(db3.objectStoreNames.contains("store"), "third objectStoreNames contains store");
assert_false(db3.objectStoreNames.contains("store2"), "third objectStoreNames contains store2"); assert_false(db3.objectStoreNames.contains("store2"), "third objectStoreNames contains store2");
let st = db3.transaction("store", "readonly", { durability: 'relaxed' }).objectStore("store"); let st = db3.transaction("store", "readonly").objectStore("store");
assert_equals(db3.version, 9, "db3.version"); assert_equals(db3.version, 9, "db3.version");
@ -322,7 +322,7 @@ async_test(t => {
store.add("data2", 2); store.add("data2", 2);
}; };
open_rq.onsuccess = function (e) { open_rq.onsuccess = function (e) {
let store = db.transaction("store", "readonly", { durability: 'relaxed' }).objectStore("store"); let store = db.transaction("store", "readonly").objectStore("store");
assert_equals(store.name, "store", "store.name"); assert_equals(store.name, "store", "store.name");
store.count().onsuccess = t.step_func(function (e) { store.count().onsuccess = t.step_func(function (e) {
assert_equals(e.target.result, 2, "count()"); assert_equals(e.target.result, 2, "count()");

View file

@ -19,6 +19,14 @@ function getMismatchedJWKKeyData(algorithm) {
return []; return [];
} }
function getMismatchedKtyField(algorithm) {
return mismatchedKtyField[algorithm.name];
}
function getMismatchedCrvField(algorithm) {
return mismatchedCrvField[algorithm.name];
}
var validKeyData = { var validKeyData = {
"P-521": [ "P-521": [
{ {
@ -201,3 +209,17 @@ var missingJWKFieldKeyData = {
} }
] ]
}; };
// The 'kty' field doesn't match the key algorithm.
var mismatchedKtyField = {
"P-521": "OKP",
"P-256": "OKP",
"P-384": "OKP",
}
// The 'kty' field doesn't match the key algorithm.
var mismatchedCrvField = {
"P-521": "P-256",
"P-256": "P-384",
"P-384": "P-521",
}

View file

@ -207,4 +207,83 @@ function run_test(algorithmNames) {
}); });
}); });
// The 'kty' field is not correct.
testVectors.forEach(function(vector) {
var name = vector.name;
allAlgorithmSpecifiersFor(name).forEach(function(algorithm) {
getValidKeyData(algorithm).forEach(function(test) {
if (test.format === "jwk") {
var data = {crv: test.data.crv, kty: test.data.kty, d: test.data.d, x: test.data.x, y: test.data.y};
data.kty = getMismatchedKtyField(algorithm);
var usages = validUsages(vector, 'jwk', test.data);
testError('jwk', algorithm, data, name, usages, true, "DataError", "Invalid 'kty' field");
}
});
});
});
// The 'ext' field is not correct.
testVectors.forEach(function(vector) {
var name = vector.name;
allAlgorithmSpecifiersFor(name).forEach(function(algorithm) {
getValidKeyData(algorithm).forEach(function(test) {
if (test.format === "jwk") {
var data = {crv: test.data.crv, kty: test.data.kty, d: test.data.d, x: test.data.x, y: test.data.y};
data.ext = false;
var usages = validUsages(vector, 'jwk', test.data);
testError('jwk', algorithm, data, name, usages, true, "DataError", "Import from a non-extractable");
}
});
});
});
// The 'use' field is incorrect.
testVectors.forEach(function(vector) {
var name = vector.name;
allAlgorithmSpecifiersFor(name).forEach(function(algorithm) {
getValidKeyData(algorithm).forEach(function(test) {
if (test.format === "jwk") {
var data = {crv: test.data.crv, kty: test.data.kty, d: test.data.d, x: test.data.x, d: test.data.d};
data.use = "invalid";
var usages = validUsages(vector, 'jwk', test.data);
if (usages.length !== 0)
testError('jwk', algorithm, data, name, usages, true, "DataError", "Invalid 'use' field");
}
});
});
});
// The 'crv' field is incorrect.
testVectors.forEach(function(vector) {
var name = vector.name;
allAlgorithmSpecifiersFor(name).forEach(function(algorithm) {
getValidKeyData(algorithm).forEach(function(test) {
if (test.format === "jwk") {
var data = {crv: test.data.crv, kty: test.data.kty, d: test.data.d, x: test.data.x, y: test.data.y};
data.crv = getMismatchedCrvField(algorithm)
var usages = validUsages(vector, 'jwk', test.data);
testError('jwk', algorithm, data, name, usages, true, "DataError", "Invalid 'crv' field");
}
});
});
});
// Use an 'alg' field with incorrect casing.
testVectors.forEach(function(vector) {
var name = vector.name;
if (name !== "Ed25519" && name !== "Ed448")
return; // The rest ignore the 'alg' field.
allAlgorithmSpecifiersFor(name).forEach(function(algorithm) {
getValidKeyData(algorithm).forEach(function(test) {
if (test.format === "jwk") {
var data = {crv: test.data.crv, kty: test.data.kty, d: test.data.d, x: test.data.x, y: test.data.y};
var usages = validUsages(vector, 'jwk', test.data);
[name.toLowerCase(), name.toUpperCase()].forEach(function(algName) {
data.alg = algName;
testError('jwk', algorithm, data, name, usages, true, "DataError", "Invalid 'alg' field '" + data.alg + "'");
});
}
});
});
});
} }

View file

@ -11,7 +11,7 @@ function runTests(algorithmName) {
['spki', 'jwk', 'raw'].forEach(function(format) { ['spki', 'jwk', 'raw'].forEach(function(format) {
if (format === "jwk") { // Not all fields used for public keys if (format === "jwk") { // Not all fields used for public keys
testFormat(format, algorithm, jwkData, algorithmName, usages, extractable); testFormat(format, algorithm, jwkData, algorithmName, usages, extractable);
// Test for https://github.com/WICG/webcrypto-secure-curves/pull/24 // Test for https://github.com/w3c/webcrypto/pull/401
if (extractable) { if (extractable) {
testJwkAlgBehaviours(algorithm, jwkData.jwk, algorithmName, usages); testJwkAlgBehaviours(algorithm, jwkData.jwk, algorithmName, usages);
} }
@ -27,7 +27,7 @@ function runTests(algorithmName) {
['pkcs8', 'jwk'].forEach(function(format) { ['pkcs8', 'jwk'].forEach(function(format) {
testFormat(format, algorithm, data, algorithmName, usages, extractable); testFormat(format, algorithm, data, algorithmName, usages, extractable);
// Test for https://github.com/WICG/webcrypto-secure-curves/pull/24 // Test for https://github.com/w3c/webcrypto/pull/401
if (format === "jwk" && extractable) { if (format === "jwk" && extractable) {
testJwkAlgBehaviours(algorithm, data.jwk, algorithmName, usages); testJwkAlgBehaviours(algorithm, data.jwk, algorithmName, usages);
} }
@ -67,27 +67,34 @@ function testFormat(format, algorithm, keyData, keySize, usages, extractable) {
}); });
} }
// Test importKey/exportKey "alg" behaviours, alg is ignored upon import and alg is missing for Ed25519 and Ed448 JWK export // Test importKey/exportKey "alg" behaviours (https://github.com/w3c/webcrypto/pull/401)
// https://github.com/WICG/webcrypto-secure-curves/pull/24 // - alg is ignored for ECDH import
// - TODO: alg is checked to be the algorithm.name or EdDSA for Ed25519 and Ed448 import
// - alg is missing for ECDH export
// - alg is the algorithm name for Ed25519 and Ed448 export
function testJwkAlgBehaviours(algorithm, keyData, crv, usages) { function testJwkAlgBehaviours(algorithm, keyData, crv, usages) {
[algorithm, algorithm.name].forEach((alg) => { [algorithm, algorithm.name].forEach((alg) => {
promise_test(function(test) { (crv.startsWith('Ed') ? [algorithm.name, 'EdDSA'] : ['this is ignored']).forEach((jwkAlg) => {
return subtle.importKey('jwk', { ...keyData, alg: 'this is ignored' }, alg, true, usages). promise_test(function(test) {
then(function(key) { return subtle.importKey('jwk', { ...keyData, alg: jwkAlg }, alg, true, usages).
assert_equals(key.constructor, CryptoKey, "Imported a CryptoKey object"); then(function(key) {
assert_equals(key.constructor, CryptoKey, "Imported a CryptoKey object");
return subtle.exportKey('jwk', key). return subtle.exportKey('jwk', key).
then(function(result) { then(function(result) {
assert_equals(Object.keys(result).length, keyData.d ? 6 : 5, "Correct number of JWK members"); let expectedKeys = crv.startsWith('Ed') ? 6 : 5
assert_equals(result.alg, undefined, 'No JWK "alg" member is present'); if (keyData.d) expectedKeys++
assert_true(equalJwk(keyData, result), "Round trip works"); assert_equals(Object.keys(result).length, expectedKeys, "Correct number of JWK members");
}, function(err) { assert_equals(result.alg, crv.startsWith('Ed') ? algorithm.name : undefined, 'Expected JWK "alg" member');
assert_true(equalJwk(keyData, result), "Round trip works");
}, function(err) {
assert_unreached("Threw an unexpected error: " + err.toString());
});
}, function(err) {
assert_unreached("Threw an unexpected error: " + err.toString()); assert_unreached("Threw an unexpected error: " + err.toString());
}); });
}, function(err) { }, 'Good parameters with JWK alg' + (crv.startsWith('Ed') ? ` ${jwkAlg}: ` : ': ') + crv.toString() + " " + parameterString('jwk', keyData, alg, true, usages, jwkAlg));
assert_unreached("Threw an unexpected error: " + err.toString()); });
});
}, "Good parameters with ignored JWK alg: " + crv.toString() + " " + parameterString('jwk', keyData, alg, true, usages));
}); });
} }

View file

@ -17,6 +17,14 @@ function getMismatchedJWKKeyData(algorithm) {
return mismatchedJWKKeyData[algorithm.name]; return mismatchedJWKKeyData[algorithm.name];
} }
function getMismatchedKtyField(algorithm) {
return mismatchedKtyField[algorithm.name];
}
function getMismatchedCrvField(algorithm) {
return mismatchedCrvField[algorithm.name];
}
var validKeyData = { var validKeyData = {
"Ed25519": [ "Ed25519": [
{ {
@ -412,3 +420,19 @@ var mismatchedJWKKeyData = {
}, },
], ],
} }
// The 'kty' field doesn't match the key algorithm.
var mismatchedKtyField = {
"Ed25519": "EC",
"X25519": "EC",
"Ed448": "EC",
"X448": "EC",
}
// The 'kty' field doesn't match the key algorithm.
var mismatchedCrvField = {
"Ed25519": "X25519",
"X25519": "Ed448",
"Ed448": "X25519",
"X448": "Ed25519",
}

View file

@ -131,4 +131,4 @@
AriaUtils.verifyLabelsBySelector(".ex"); AriaUtils.verifyLabelsBySelector(".ex");
</script> </script>
</body> </body>
</html> </html>

View file

@ -1,16 +1,18 @@
<!DOCTYPE html> <!doctype html>
<html> <html>
<head> <head>
<title>Name Comp: Text Node</title> <title>Name Comp: Text Node</title>
<script src="../../resources/testharness.js"></script> <script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script> <script src="../../resources/testharnessreport.js"></script>
<script src="../../resources/testdriver.js"></script> <script src="../../resources/testdriver.js"></script>
<script src="../../resources/testdriver-vendor.js"></script> <script src="../../resources/testdriver-vendor.js"></script>
<script src="../../resources/testdriver-actions.js"></script> <script src="../../resources/testdriver-actions.js"></script>
<script src="../../wai-aria/scripts/aria-utils.js"></script> <script src="../../wai-aria/scripts/aria-utils.js"></script>
</head> </head>
<body> <body>
<p>Tests the <a href="https://w3c.github.io/accname/#comp_text_node">#comp_text_node</a> portions of the AccName <em>Name Computation</em> algorithm.</p> <p>Tests the <a href="https://w3c.github.io/accname/#comp_text_node">#comp_text_node</a> portions of the AccName <em>Name Computation</em> algorithm.</p>
<!-- <!--
Note: some overlap with the tests in: Note: some overlap with the tests in:
@ -18,19 +20,21 @@
- /accname/name/comp_name_from_content.html - /accname/name/comp_name_from_content.html
--> -->
<h1>text/element/text nodes, no space</h1> <h1>text/element/text nodes, no space</h1>
<span class="ex" data-expectedlabel="buttonlabel" data-testname="span[role=button] with text/element/text nodes, no space" role="button" tabindex="0">button<span></span>label</span> <span role="button" tabindex="0" class="ex" data-expectedlabel="buttonlabel" data-testname="span[role=button] with text/element/text nodes, no space">button<span></span>label</span>
<div class="ex" data-expectedlabel="headinglabel" data-testname="div[role=heading] with text/element/text nodes, no space" role="heading">heading<span></span>label</div> <div role="heading" class="ex" data-expectedlabel="headinglabel" data-testname="div[role=heading] with text/element/text nodes, no space">heading<span></span>label</div>
<button class="ex" data-expectedlabel="buttonlabel" data-testname="button with text/element/text nodes, no space">button<span></span>label</button> <button class="ex" data-expectedlabel="buttonlabel" data-testname="button with text/element/text nodes, no space">button<span></span>label</button>
<h3 class="ex" data-expectedlabel="headinglabel" data-testname="heading with text/element/text nodes, no space">heading<span></span>label</h3> <h3 class="ex" data-expectedlabel="headinglabel" data-testname="heading with text/element/text nodes, no space">heading<span></span>label</h3>
<a class="ex" data-expectedlabel="linklabel" data-testname="link with text/element/text nodes, no space" href="#">link<span></span>label</a> <a href="#" class="ex" data-expectedlabel="linklabel" data-testname="link with text/element/text nodes, no space">link<span></span>label</a>
<br/> <br>
<h1>text/comment/text nodes, no space</h1> <h1>text/comment/text nodes, no space</h1>
<!-- Note: This set is not currently to spec until https://github.com/w3c/accname/issues/193 is resolved. --> <!-- Note: This set is not currently to spec until https://github.com/w3c/accname/issues/193 is resolved. -->
<span class="ex" data-expectedlabel="buttonlabel" data-testname="span[role=button] with text/comment/text nodes, no space" role="button" tabindex="0"> <span role="button" tabindex="0" class="ex" data-expectedlabel="buttonlabel" data-testname="span[role=button] with text/comment/text nodes, no space">
button<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment --> button<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment -->
</span> </span>
<div class="ex" data-expectedlabel="headinglabel" data-testname="div[role=heading] with text/comment/text nodes, no space" role="heading"> <div role="heading" class="ex" data-expectedlabel="headinglabel" data-testname="div[role=heading] with text/comment/text nodes, no space">
heading<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment --> heading<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment -->
</div> </div>
<button class="ex" data-expectedlabel="buttonlabel" data-testname="button with text/comment/text nodes, no space"> <button class="ex" data-expectedlabel="buttonlabel" data-testname="button with text/comment/text nodes, no space">
@ -39,17 +43,18 @@
<h3 class="ex" data-expectedlabel="headinglabel" data-testname="heading with text/comment/text nodes, no space"> <h3 class="ex" data-expectedlabel="headinglabel" data-testname="heading with text/comment/text nodes, no space">
heading<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment --> heading<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment -->
</h3> </h3>
<a class="ex" data-expectedlabel="linklabel" data-testname="link with text/comment/text nodes, no space" href="#"> <a href="#" class="ex" data-expectedlabel="linklabel" data-testname="link with text/comment/text nodes, no space">
link<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment --> link<!-- with non-text node splitting concatenated text nodes -->label<!-- [sic] no extra spaces around first comment -->
</a> </a>
<br/> <br>
<h1>text/comment/text nodes, with space</h1> <h1>text/comment/text nodes, with space</h1>
<span class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text/comment/text nodes, with space" role="button" tabindex="0"> <span role="button" tabindex="0" class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text/comment/text nodes, with space">
button button
<!-- comment node between text nodes with leading/trailing whitespace --> <!-- comment node between text nodes with leading/trailing whitespace -->
label label
</span> </span>
<div class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text/comment/text nodes, with space" role="heading"> <div role="heading" class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text/comment/text nodes, with space">
heading heading
<!-- comment node between text nodes with leading/trailing whitespace --> <!-- comment node between text nodes with leading/trailing whitespace -->
label label
@ -64,52 +69,58 @@
<!-- comment node between text nodes with leading/trailing whitespace --> <!-- comment node between text nodes with leading/trailing whitespace -->
label label
</h3> </h3>
<a class="ex" data-expectedlabel="link label" data-testname="link with text/comment/text nodes, with space" href="#"> <a href="#" class="ex" data-expectedlabel="link label" data-testname="link with text/comment/text nodes, with space">
link link
<!-- comment node between text nodes with leading/trailing whitespace --> <!-- comment node between text nodes with leading/trailing whitespace -->
label label
</a> </a>
<br/> <br>
<h1>text node, with tab char</h1> <h1>text node, with tab char</h1>
<span class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with tab char" role="button" tabindex="0">button label</span> <span role="button" tabindex="0" class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with tab char">button label</span>
<div class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with tab char" role="heading">heading label</div> <div role="heading" class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with tab char">heading label</div>
<button class="ex" data-expectedlabel="button label" data-testname="button with text node, with tab char">button label</button> <button class="ex" data-expectedlabel="button label" data-testname="button with text node, with tab char">button label</button>
<h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with tab char">heading label</h3> <h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with tab char">heading label</h3>
<a class="ex" data-expectedlabel="link label" data-testname="link with text node, with tab char" href="#">link label</a> <a href="#" class="ex" data-expectedlabel="link label" data-testname="link with text node, with tab char">link label</a>
<br/> <br>
<h1>text node, with non-breaking space</h1> <h1>text node, with non-breaking space</h1>
<span class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with non-breaking space" role="button" tabindex="0">button label</span> <span role="button" tabindex="0" class="ex" data-expectedlabel="button&nbsp;label" data-testname="span[role=button] with text node, with non-breaking space">button&nbsp;label</span>
<div class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with non-breaking space" role="heading">heading label</div> <div role="heading" class="ex" data-expectedlabel="heading&nbsp;label" data-testname="div[role=heading] with text node, with non-breaking space">heading&nbsp;label</div>
<button class="ex" data-expectedlabel="button label" data-testname="button with text node, with non-breaking space">button label</button> <button class="ex" data-expectedlabel="button&nbsp;label" data-testname="button with text node, with non-breaking space">button&nbsp;label</button>
<h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with non-breaking space">heading label</h3> <h3 class="ex" data-expectedlabel="heading&nbsp;label" data-testname="heading with text node, with non-breaking space">heading&nbsp;label</h3>
<a class="ex" data-expectedlabel="link label" data-testname="link with text node, with non-breaking space" href="#">link label</a> <a href="#" class="ex" data-expectedlabel="link&nbsp;label" data-testname="link with text node, with non-breaking space">link&nbsp;label</a>
<br/> <br>
<h1>text node, with extra non-breaking space</h1> <h1>text node, with extra non-breaking space</h1>
<span class="ex" data-expectedlabel="button   label" data-testname="span[role=button] with text node, with extra non-breaking space" role="button" tabindex="0">button   label</span> <span role="button" tabindex="0" class="ex" data-expectedlabel="button&nbsp;&nbsp;&nbsp;label" data-testname="span[role=button] with text node, with extra non-breaking space">button&nbsp;&nbsp;&nbsp;label</span>
<div class="ex" data-expectedlabel="heading   label" data-testname="div[role=heading] with text node, with extra non-breaking space" role="heading">heading   label</div> <div role="heading" class="ex" data-expectedlabel="heading&nbsp;&nbsp;&nbsp;label" data-testname="div[role=heading] with text node, with extra non-breaking space">heading&nbsp;&nbsp;&nbsp;label</div>
<button class="ex" data-expectedlabel="button   label" data-testname="button with text node, with extra non-breaking space">button   label</button> <button class="ex" data-expectedlabel="button&nbsp;&nbsp;&nbsp;label" data-testname="button with text node, with extra non-breaking space">button&nbsp;&nbsp;&nbsp;label</button>
<h3 class="ex" data-expectedlabel="heading   label" data-testname="heading with text node, with extra non-breaking space">heading   label</h3> <h3 class="ex" data-expectedlabel="heading&nbsp;&nbsp;&nbsp;label" data-testname="heading with text node, with extra non-breaking space">heading&nbsp;&nbsp;&nbsp;label</h3>
<a class="ex" data-expectedlabel="link   label" data-testname="link with text node, with extra non-breaking space" href="#">link   label</a> <a href="#" class="ex" data-expectedlabel="link&nbsp;&nbsp;&nbsp;label" data-testname="link with text node, with extra non-breaking space">link&nbsp;&nbsp;&nbsp;label</a>
<br/> <br>
<h1>text node, with leading/trailing non-breaking space</h1> <h1>text node, with leading/trailing non-breaking space</h1>
<span class="ex" data-expectedlabel=" button label " data-testname="span[role=button] with text node, with leading/trailing non-breaking space" role="button" tabindex="0"> button label </span> <span role="button" tabindex="0" class="ex" data-expectedlabel="&nbsp;button&nbsp;label&nbsp;" data-testname="span[role=button] with text node, with leading/trailing non-breaking space">&nbsp;button&nbsp;label&nbsp;</span>
<div class="ex" data-expectedlabel=" heading label " data-testname="div[role=heading] with text node, with leading/trailing non-breaking space" role="heading"> heading label </div> <div role="heading" class="ex" data-expectedlabel="&nbsp;heading&nbsp;label&nbsp;" data-testname="div[role=heading] with text node, with leading/trailing non-breaking space">&nbsp;heading&nbsp;label&nbsp;</div>
<button class="ex" data-expectedlabel=" button label " data-testname="button with text node, with leading/trailing non-breaking space"> button label </button> <button class="ex" data-expectedlabel="&nbsp;button&nbsp;label&nbsp;" data-testname="button with text node, with leading/trailing non-breaking space">&nbsp;button&nbsp;label&nbsp;</button>
<h3 class="ex" data-expectedlabel=" heading label " data-testname="heading with text node, with leading/trailing non-breaking space"> heading label </h3> <h3 class="ex" data-expectedlabel="&nbsp;heading&nbsp;label&nbsp;" data-testname="heading with text node, with leading/trailing non-breaking space">&nbsp;heading&nbsp;label&nbsp;</h3>
<a class="ex" data-expectedlabel=" link label " data-testname="link with text node, with leading/trailing non-breaking space" href="#"> link label </a> <a href="#" class="ex" data-expectedlabel="&nbsp;link&nbsp;label&nbsp;" data-testname="link with text node, with leading/trailing non-breaking space">&nbsp;link&nbsp;label&nbsp;</a>
<br/> <br>
<h1>text node, with mixed space and non-breaking space</h1> <h1>text node, with mixed space and non-breaking space</h1>
<span class="ex" data-expectedlabel="button   label" data-testname="span[role=button] with text node, with mixed space and non-breaking space" role="button" tabindex="0">button   label</span> <span role="button" tabindex="0" class="ex" data-expectedlabel="button &nbsp; label" data-testname="span[role=button] with text node, with mixed space and non-breaking space">button &nbsp; label</span>
<div class="ex" data-expectedlabel="heading   label" data-testname="div[role=heading] with text node, with mixed space and non-breaking space" role="heading">heading   label</div> <div role="heading" class="ex" data-expectedlabel="heading &nbsp; label" data-testname="div[role=heading] with text node, with mixed space and non-breaking space">heading &nbsp; label</div>
<button class="ex" data-expectedlabel="button   label" data-testname="button with text node, with mixed space and non-breaking space">button   label</button> <button class="ex" data-expectedlabel="button &nbsp; label" data-testname="button with text node, with mixed space and non-breaking space">button &nbsp; label</button>
<h3 class="ex" data-expectedlabel="heading   label" data-testname="heading with text node, with mixed space and non-breaking space">heading   label</h3> <h3 class="ex" data-expectedlabel="heading &nbsp; label" data-testname="heading with text node, with mixed space and non-breaking space">heading &nbsp; label</h3>
<a class="ex" data-expectedlabel="link   label" data-testname="link with text node, with mixed space and non-breaking space" href="#">link   label</a> <a href="#" class="ex" data-expectedlabel="link &nbsp; label" data-testname="link with text node, with mixed space and non-breaking space">link &nbsp; label</a>
<br/> <br>
<h1>text nodes, with deeply nested space</h1> <h1>text nodes, with deeply nested space</h1>
<span class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with deeply nested space" role="button" tabindex="0"> <span role="button" tabindex="0" class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with deeply nested space">
button<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label button<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label
</span> </span>
<div class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with deeply nested space" role="heading"> <div role="heading" class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with deeply nested space">
heading<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label heading<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label
</div> </div>
<button class="ex" data-expectedlabel="button label" data-testname="button with text node, with deeply nested space"> <button class="ex" data-expectedlabel="button label" data-testname="button with text node, with deeply nested space">
@ -118,24 +129,26 @@ button<span><span><span><span><span><span><span> </span></span></span></span></s
<h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with deeply nested space"> <h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with deeply nested space">
heading<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label heading<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label
</h3> </h3>
<a class="ex" data-expectedlabel="link label" data-testname="link with text node, with deeply nested space" href="#"> <a href="#" class="ex" data-expectedlabel="link label" data-testname="link with text node, with deeply nested space">
link<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label link<span><span><span><span><span><span><span> </span></span></span></span></span></span></span>label
</a> </a>
<br/> <br>
<h1>text nodes, with single line break</h1> <h1>text nodes, with single line break</h1>
<span class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with single line break" role="button" tabindex="0">button <span role="button" tabindex="0" class="ex" data-expectedlabel="button label" data-testname="span[role=button] with text node, with single line break">button
label</span> label</span>
<div class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with single line break" role="heading">heading <div role="heading" class="ex" data-expectedlabel="heading label" data-testname="div[role=heading] with text node, with single line break">heading
label</div> label</div>
<button class="ex" data-expectedlabel="button label" data-testname="button with text node, with single line break">button <button class="ex" data-expectedlabel="button label" data-testname="button with text node, with single line break">button
label</button> label</button>
<h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with single line break">heading <h3 class="ex" data-expectedlabel="heading label" data-testname="heading with text node, with single line break">heading
label</h3> label</h3>
<a class="ex" data-expectedlabel="link label" data-testname="link with text node, with single line break" href="#">link <a href="#" class="ex" data-expectedlabel="link label" data-testname="link with text node, with single line break">link
label</a> label</a>
<br/> <br>
<script> <script>
AriaUtils.verifyLabelsBySelector(".ex"); AriaUtils.verifyLabelsBySelector(".ex");
</script> </script>
</body> </body>
</html> </html>

Some files were not shown because too many files have changed in this diff Show more