diff --git a/.gitignore b/.gitignore index 46ed53e46cb..8622eb8484c 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,9 @@ Servo.app capture_webrender/ /screenshots +# Allow CSV files to be used as resources in tests +!/tests/**/*.csv + # Editors ## IntelliJ .idea diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/ec_importKey.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/ec_importKey.https.any.js.ini index ccb45e9861d..b3b3f10b250 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/ec_importKey.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/ec_importKey.https.any.js.ini @@ -395,6 +395,258 @@ [Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [\])] expected: FAIL + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + [ec_importKey.https.any.worker.html] [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [\])] @@ -792,3 +1044,255 @@ [Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [\])] expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/okp_importKey.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/okp_importKey.https.any.js.ini index f438158dae8..ed0fd4312df 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/okp_importKey.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/okp_importKey.https.any.js.ini @@ -167,6 +167,126 @@ [Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [\])] expected: FAIL + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + [okp_importKey.https.any.worker.html] [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [\])] @@ -336,3 +456,123 @@ [Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [\])] expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (spki, buffer(69), {name: Ed448}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(kty, crv, x), {name: Ed448}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (raw, buffer(57), {name: Ed448}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: Ed448 bits (pkcs8, buffer(73), {name: Ed448}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: Ed448 bits (jwk, object(crv, d, x, kty), {name: Ed448}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL + + [Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits\])] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/rsa_importKey.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/rsa_importKey.https.any.js.ini index 624406cac27..125e9c19504 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/rsa_importKey.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/rsa_importKey.https.any.js.ini @@ -1871,6 +1871,1302 @@ [Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] expected: FAIL + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + [rsa_importKey.https.any.html] [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt\])] @@ -3744,3 +5040,1299 @@ [Empty Usages: 4096 bits (jwk, object(spki, pkcs8, jwk), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, true, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, true, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-OAEP}, false, [encrypt, wrapKey, encrypt, wrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-OAEP}, false, [decrypt, unwrapKey, decrypt, unwrapKey\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSA-PSS}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSA-PSS}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 1024 bits (spki, buffer(162), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 1024 bits (pkcs8, buffer(636), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 1024 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 2048 bits (spki, buffer(294), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 2048 bits (pkcs8, buffer(1218), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 2048 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-1, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-256, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-384, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, true, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [\])] + expected: FAIL + + [Good parameters: 4096 bits (spki, buffer(550), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [verify, verify\])] + expected: FAIL + + [Good parameters: 4096 bits (pkcs8, buffer(2376), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL + + [Good parameters: 4096 bits (jwk, object(kty, n, e, d, p, q, dp, dq, qi), {hash: SHA-512, name: RSASSA-PKCS1-v1_5}, false, [sign, sign\])] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/symmetric_importKey.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/symmetric_importKey.https.any.js.ini index 49374f9470a..47bb9113415 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/symmetric_importKey.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/import_export/symmetric_importKey.https.any.js.ini @@ -935,6 +935,240 @@ [Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [\])] expected: FAIL + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + [symmetric_importKey.https.any.html] [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt\])] @@ -1872,3 +2106,237 @@ [Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [\])] expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CTR, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CTR, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CTR}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128CBC, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256CBC, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-CBC}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128GCM, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, true, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS256, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-256, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS384, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-384, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 192 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 256 bits (jwk, {alg: HS512, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {hash: SHA-512, name: HMAC}, false, [sign, verify, sign, verify\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: HKDF}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL + + [Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: PBKDF2}, false, [deriveBits, deriveKey, deriveBits, deriveKey\])] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/cookies/third-party-cookies/third-party-cookies.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/cookies/third-party-cookies/third-party-cookies.tentative.https.html.ini new file mode 100644 index 00000000000..5c59aab6090 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/cookies/third-party-cookies/third-party-cookies.tentative.https.html.ini @@ -0,0 +1,2 @@ +[third-party-cookies.tentative.https.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/compositing/canvas-composite-modes.html.ini b/tests/wpt/meta-legacy-layout/css/compositing/canvas-composite-modes.html.ini new file mode 100644 index 00000000000..b015086cf5c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/compositing/canvas-composite-modes.html.ini @@ -0,0 +1,21 @@ +[canvas-composite-modes.html] + [globalCompositeOperation destination] + expected: FAIL + + [globalCompositeOperation source-out] + expected: FAIL + + [globalCompositeOperation destination-out] + expected: FAIL + + [globalCompositeOperation xor] + expected: FAIL + + [globalCompositeOperation lighter] + expected: FAIL + + [globalCompositeOperation plus-darker] + expected: FAIL + + [globalCompositeOperation plus-lighter] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/compositing/compositing_simple_div.html.ini b/tests/wpt/meta-legacy-layout/css/compositing/compositing_simple_div.html.ini deleted file mode 100644 index ca8e5e9c9ba..00000000000 --- a/tests/wpt/meta-legacy-layout/css/compositing/compositing_simple_div.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[compositing_simple_div.html] - type: reftest - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-001.html.ini new file mode 100644 index 00000000000..9cec50f1501 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-001.html.ini @@ -0,0 +1,2 @@ +[align-content-block-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-002.html.ini new file mode 100644 index 00000000000..5f0d16e9286 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-002.html.ini @@ -0,0 +1,2 @@ +[align-content-block-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-003.html.ini new file mode 100644 index 00000000000..c1bb4746647 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-003.html.ini @@ -0,0 +1,2 @@ +[align-content-block-003.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-004.html.ini new file mode 100644 index 00000000000..229571e9dfa --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-004.html.ini @@ -0,0 +1,2 @@ +[align-content-block-004.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-005.html.ini new file mode 100644 index 00000000000..5fe5827c538 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-005.html.ini @@ -0,0 +1,2 @@ +[align-content-block-005.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-006.html.ini new file mode 100644 index 00000000000..3cd1af3ea35 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-006.html.ini @@ -0,0 +1,2 @@ +[align-content-block-006.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-007.html.ini new file mode 100644 index 00000000000..1311a1028d4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-007.html.ini @@ -0,0 +1,2 @@ +[align-content-block-007.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-008.html.ini new file mode 100644 index 00000000000..561a9cca389 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-008.html.ini @@ -0,0 +1,2 @@ +[align-content-block-008.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-009.html.ini new file mode 100644 index 00000000000..0d75e4f3a29 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-009.html.ini @@ -0,0 +1,2 @@ +[align-content-block-009.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-010.html.ini new file mode 100644 index 00000000000..cccd55e5e31 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-010.html.ini @@ -0,0 +1,2 @@ +[align-content-block-010.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-011.html.ini new file mode 100644 index 00000000000..cf02c4422cc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-011.html.ini @@ -0,0 +1,2 @@ +[align-content-block-011.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-content-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-content-020.html.ini new file mode 100644 index 00000000000..c19c67ff247 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-content-020.html.ini @@ -0,0 +1,2 @@ +[align-content-block-break-content-020.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-overflow-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-overflow-010.html.ini new file mode 100644 index 00000000000..e653232eafb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-overflow-010.html.ini @@ -0,0 +1,2 @@ +[align-content-block-break-overflow-010.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-overflow-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-overflow-020.html.ini new file mode 100644 index 00000000000..e1ec410dff5 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-break-overflow-020.html.ini @@ -0,0 +1,2 @@ +[align-content-block-break-overflow-020.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-overflow-000.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-overflow-000.html.ini new file mode 100644 index 00000000000..461283fa780 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-align/blocks/align-content-block-overflow-000.html.ini @@ -0,0 +1,2 @@ +[align-content-block-overflow-000.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-backgrounds/animations/box-shadow-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-backgrounds/animations/box-shadow-interpolation.html.ini index 016af7475e7..055c19a8042 100644 --- a/tests/wpt/meta-legacy-layout/css/css-backgrounds/animations/box-shadow-interpolation.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-backgrounds/animations/box-shadow-interpolation.html.ini @@ -268,3 +268,219 @@ [CSS Transitions: property from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.3) should be [10px 20px yellow, 5px 10px green\]] expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px rgb(0 0 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px rgb(255 255 255)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [CSS Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (-0.3) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0) should be [10px 10px 10px 10px oklab(0 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.3) should be [10px 10px 10px 10px oklab(0.3 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (0.6) should be [10px 10px 10px 10px oklab(0.6 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL + + [Web Animations: property from [10px 10px 10px 10px color(srgb 0, 0, 0)\] to [10px 10px 10px 10px color(srgb 1 1 1)\] at (1.5) should be [10px 10px 10px 10px oklab(1 0 0)\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html.ini new file mode 100644 index 00000000000..29b03c297c1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html.ini @@ -0,0 +1,3 @@ +[color-mix-currentcolor-visited-getcomputedstyle.html] + [Property background-color value 'color-mix(in srgb, currentcolor, white)' should not leak :visited for computed style] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/color-mix-currentcolor-visited.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/color-mix-currentcolor-visited.html.ini new file mode 100644 index 00000000000..162c497b79e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/color-mix-currentcolor-visited.html.ini @@ -0,0 +1,2 @@ +[color-mix-currentcolor-visited.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/currentcolor-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/currentcolor-004.html.ini new file mode 100644 index 00000000000..87284767cf0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/currentcolor-004.html.ini @@ -0,0 +1,2 @@ +[currentcolor-004.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-color-mix-function.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-color-mix-function.html.ini index 5d561ec3883..d3d886aa5ee 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-color-mix-function.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-color-mix-function.html.ini @@ -1798,3 +1798,15 @@ [Property color value 'color-mix(in xyz-d65, color(xyz-d65 0.1 0.2 0.3 / 0) 10%, color(xyz-d65 0.3 0.4 0.5))'] expected: FAIL + + [Property color value 'color-mix(in oklch, transparent, oklch(0.3 40 30deg))'] + expected: FAIL + + [Property color value 'color-mix(in oklch, transparent 10%, oklch(0.3 40 30deg))'] + expected: FAIL + + [Property color value 'color-mix(in oklch, oklch(0.1 20 120deg / 0), oklch(0.3 40 30deg))'] + expected: FAIL + + [Property color value 'color-mix(in oklch, oklch(0.1 20 120deg / 0) 10%, oklch(0.3 40 30deg))'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini index f6ca762dc07..f2843c40203 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini @@ -3196,3 +3196,75 @@ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)'] expected: FAIL + + [Property color value 'color(from color(srgb-linear 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) srgb-linear r g b)'] + expected: FAIL + + [Property color value 'color(from color(display-p3 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) display-p3 r g b)'] + expected: FAIL + + [Property color value 'color(from color(a98-rgb 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) a98-rgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(prophoto-rgb 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) prophoto-rgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(rec2020 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) rec2020 r g b)'] + expected: FAIL + + [Property color value 'color(from color(xyz-d50 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) xyz-d50 r g b)'] + expected: FAIL + + [Property color value 'color(from color(xyz-d65 0.25 0.5 0.75) srgb r g b)'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.25 0.5 0.75) xyz-d65 r g b)'] + expected: FAIL + + [Property color value 'lab(from color(srgb 0.25 0.5 0.75) l a b)'] + expected: FAIL + + [Property color value 'color(from lab(67.5345 -8.6911 -41.6019) srgb r g b)'] + expected: FAIL + + [Property color value 'oklab(from color(srgb 0.25 0.5 0.75) l a b)'] + expected: FAIL + + [Property color value 'color(from oklab(72.322% -0.0465 -0.1150) srgb r g b)'] + expected: FAIL + + [Property color value 'lch(from color(srgb 0.25 0.5 0.75) l c h)'] + expected: FAIL + + [Property color value 'color(from lch(67.5345% 42.5 258.2) srgb r g b)'] + expected: FAIL + + [Property color value 'oklch(from color(srgb 0.25 0.5 0.75) l c h)'] + expected: FAIL + + [Property color value 'color(from oklch(72.322% 0.12403 247.996) srgb r g b)'] + expected: FAIL + + [Property color value 'hsl(from var(--accent) calc(h + 180) s l)'] + expected: FAIL + + [Property color value 'LCH(from var(--accent) l c calc(h + 180))'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hsl.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hsl.html.ini index efd69fefe4d..47af398a3b9 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hsl.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hsl.html.ini @@ -25,3 +25,21 @@ [e.style['color'\] = "hsl(none 100% 50%)" should set the property value] expected: FAIL + + [e.style['color'\] = "hsl(calc(infinity) 100% 50%)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hsl(calc(-infinity) 100% 50%)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hsl(calc(0 / 0) 100% 50%)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hsl(90 50% 50% / calc(infinity))" should set the property value] + expected: FAIL + + [e.style['color'\] = "hsl(90 50% 50% / calc(-infinity))" should set the property value] + expected: FAIL + + [e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hwb.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hwb.html.ini index b52a2cd54fa..05538c78502 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hwb.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-hwb.html.ini @@ -22,3 +22,21 @@ [e.style['color'\] = "hwb(320deg 30% 40%)" should set the property value] expected: FAIL + + [e.style['color'\] = "hwb(calc(infinity) 20% 10%)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hwb(calc(-infinity) 20% 10%)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hwb(calc(0 / 0) 20% 10%)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hwb(90 20% 10% / calc(infinity))" should set the property value] + expected: FAIL + + [e.style['color'\] = "hwb(90 20% 10% / calc(-infinity))" should set the property value] + expected: FAIL + + [e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini index 64ebd2cd7b1..4bdb4add61a 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini @@ -3157,3 +3157,51 @@ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)" should set the property value] expected: FAIL + + [e.style['color'\] = "rgb(from currentColor r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hsl(from currentColor h s l)" should set the property value] + expected: FAIL + + [e.style['color'\] = "hwb(from currentColor h w b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "lab(from currentColor l a b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "oklab(from currentColor l a b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "lch(from currentColor) l c h)" should set the property value] + expected: FAIL + + [e.style['color'\] = "oklch(from currentColor l c h)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor srgb r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor srgb-linear r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor a98-rgb r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor rec2020 r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor prophoto-rgb r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor display-p3 r g b)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor xyz x y z)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor xyz-d50 x y z)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from currentColor xyz-d65 x y z)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/relative-color-out-of-gamut.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/relative-color-out-of-gamut.html.ini new file mode 100644 index 00000000000..33f7c5c6858 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/relative-color-out-of-gamut.html.ini @@ -0,0 +1,81 @@ +[relative-color-out-of-gamut.html] + [Property color value 'rgb(from color(display-p3 0 1 0) r g b / alpha)'] + expected: FAIL + + [Property color value 'rgb(from lab(100 104.3 -50.9) r g b)'] + expected: FAIL + + [Property color value 'rgb(from lab(0 104.3 -50.9) r g b)'] + expected: FAIL + + [Property color value 'rgb(from lch(100 116 334) r g b)'] + expected: FAIL + + [Property color value 'rgb(from lch(0 116 334) r g b)'] + expected: FAIL + + [Property color value 'rgb(from oklab(1 0.365 -0.16) r g b)'] + expected: FAIL + + [Property color value 'rgb(from oklab(0 0.365 -0.16) r g b)'] + expected: FAIL + + [Property color value 'rgb(from oklch(1 0.399 336.3) r g b)'] + expected: FAIL + + [Property color value 'rgb(from oklch(0 0.399 336.3) r g b)'] + expected: FAIL + + [Property color value 'hsl(from color(display-p3 0 1 0) h s l / alpha)'] + expected: FAIL + + [Property color value 'hsl(from lab(100 104.3 -50.9) h s l)'] + expected: FAIL + + [Property color value 'hsl(from lab(0 104.3 -50.9) h s l)'] + expected: FAIL + + [Property color value 'hsl(from lch(100 116 334) h s l)'] + expected: FAIL + + [Property color value 'hsl(from lch(0 116 334) h s l)'] + expected: FAIL + + [Property color value 'hsl(from oklab(1 0.365 -0.16) h s l)'] + expected: FAIL + + [Property color value 'hsl(from oklab(0 0.365 -0.16) h s l)'] + expected: FAIL + + [Property color value 'hsl(from oklch(1 0.399 336.3) h s l)'] + expected: FAIL + + [Property color value 'hsl(from oklch(0 0.399 336.3) h s l)'] + expected: FAIL + + [Property color value 'hwb(from color(display-p3 0 1 0) h w b / alpha)'] + expected: FAIL + + [Property color value 'hwb(from lab(100 104.3 -50.9) h w b)'] + expected: FAIL + + [Property color value 'hwb(from lab(0 104.3 -50.9) h w b)'] + expected: FAIL + + [Property color value 'hwb(from lch(100 116 334) h w b)'] + expected: FAIL + + [Property color value 'hwb(from lch(0 116 334) h w b)'] + expected: FAIL + + [Property color value 'hwb(from oklab(1 0.365 -0.16) h w b)'] + expected: FAIL + + [Property color value 'hwb(from oklab(0 0.365 -0.16) h w b)'] + expected: FAIL + + [Property color value 'hwb(from oklch(1 0.399 336.3) h w b)'] + expected: FAIL + + [Property color value 'hwb(from oklch(0 0.399 336.3) h w b)'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-a98rgb-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-a98rgb-01.html.ini new file mode 100644 index 00000000000..1e125b3cb7b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-a98rgb-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-a98rgb-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-displayp3-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-displayp3-01.html.ini new file mode 100644 index 00000000000..36098b34aaf --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-displayp3-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-displayp3-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hsl-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hsl-01.html.ini new file mode 100644 index 00000000000..4ddc9dfa968 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hsl-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-hsl-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hsl-02.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hsl-02.html.ini new file mode 100644 index 00000000000..cb42bb3bba7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hsl-02.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-hsl-02.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hwb-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hwb-01.html.ini new file mode 100644 index 00000000000..17c350bbadd --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-hwb-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-hwb-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-lab-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-lab-01.html.ini new file mode 100644 index 00000000000..6912822578c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-lab-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-lab-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-lch-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-lch-01.html.ini new file mode 100644 index 00000000000..5ebf684f72b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-lch-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-lch-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-oklab-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-oklab-01.html.ini new file mode 100644 index 00000000000..8d3142bb410 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-oklab-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-oklab-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-oklch-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-oklch-01.html.ini new file mode 100644 index 00000000000..163add2a14b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-oklch-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-oklch-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-prophoto-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-prophoto-01.html.ini new file mode 100644 index 00000000000..89b27a45012 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-prophoto-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-prophoto-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rec2020-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rec2020-01.html.ini new file mode 100644 index 00000000000..6cc93af43e5 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rec2020-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-rec2020-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rec2020-02.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rec2020-02.html.ini new file mode 100644 index 00000000000..76c5b14f311 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rec2020-02.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-rec2020-02.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rgb-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rgb-01.html.ini new file mode 100644 index 00000000000..c9657c151a9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rgb-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-rgb-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rgb-02.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rgb-02.html.ini new file mode 100644 index 00000000000..e1b99630d8d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-rgb-02.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-rgb-02.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-xyzd50-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-xyzd50-01.html.ini new file mode 100644 index 00000000000..7f68b11108e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-xyzd50-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-xyzd50-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-xyzd65-01.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-xyzd65-01.html.ini new file mode 100644 index 00000000000..843a21cbbca --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-color/relative-currentcolor-xyzd65-01.html.ini @@ -0,0 +1,2 @@ +[relative-currentcolor-xyzd65-01.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/animations/font-palette-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/animations/font-palette-interpolation.html.ini new file mode 100644 index 00000000000..d1bfaf95897 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/animations/font-palette-interpolation.html.ini @@ -0,0 +1,342 @@ +[font-palette-interpolation.html] + [CSS Transitions: property from [light\] to [dark\] at (-2) should be [light\]] + expected: FAIL + + [CSS Transitions: property from [light\] to [dark\] at (-0.25) should be [light\]] + expected: FAIL + + [CSS Transitions: property from [light\] to [dark\] at (0) should be [light\]] + expected: FAIL + + [CSS Transitions: property from [light\] to [dark\] at (0.3) should be [palette-mix(in oklab, light, dark 30%)\]] + expected: FAIL + + [CSS Transitions: property from [light\] to [dark\] at (0.6) should be [palette-mix(in oklab, light, dark 60%)\]] + expected: FAIL + + [CSS Transitions: property from [light\] to [dark\] at (1) should be [dark\]] + expected: FAIL + + [CSS Transitions: property from [light\] to [dark\] at (1.5) should be [dark\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (-2) should be [light\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (-0.25) should be [light\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (0) should be [light\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (0.3) should be [palette-mix(in oklab, light, dark 30%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (0.6) should be [palette-mix(in oklab, light, dark 60%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (1) should be [dark\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [light\] to [dark\] at (1.5) should be [dark\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (-2) should be [light\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (-0.25) should be [light\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (0) should be [light\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (0.3) should be [palette-mix(in oklab, light, dark 30%)\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (0.6) should be [palette-mix(in oklab, light, dark 60%)\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (1) should be [dark\]] + expected: FAIL + + [CSS Animations: property from [light\] to [dark\] at (1.5) should be [dark\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (-2) should be [light\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (-0.25) should be [light\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (0) should be [light\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (0.3) should be [palette-mix(in oklab, light, dark 30%)\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (0.6) should be [palette-mix(in oklab, light, dark 60%)\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (1) should be [dark\]] + expected: FAIL + + [Web Animations: property from [light\] to [dark\] at (1.5) should be [dark\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (-2) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (-0.25) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (0) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (0.3) should be [palette-mix(in oklab, normal, light 30%)\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (0.6) should be [palette-mix(in oklab, normal, light 60%)\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (1) should be [light\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [inherit\] at (1.5) should be [light\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (-2) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (-0.25) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (0) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (0.3) should be [palette-mix(in oklab, normal, light 30%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (0.6) should be [palette-mix(in oklab, normal, light 60%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (1) should be [light\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [inherit\] at (1.5) should be [light\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (-2) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (-0.25) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (0) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (0.3) should be [palette-mix(in oklab, normal, light 30%)\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (0.6) should be [palette-mix(in oklab, normal, light 60%)\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (1) should be [light\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [inherit\] at (1.5) should be [light\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (-2) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (-0.25) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (0) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (0.3) should be [palette-mix(in oklab, normal, light 30%)\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (0.6) should be [palette-mix(in oklab, normal, light 60%)\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (1) should be [light\]] + expected: FAIL + + [Web Animations: property from [initial\] to [inherit\] at (1.5) should be [light\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (-2) should be [--custom-palette\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (-0.25) should be [--custom-palette\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (0) should be [--custom-palette\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (0.3) should be [palette-mix(in oklab, --custom-palette, normal 30%)\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (0.6) should be [palette-mix(in oklab, --custom-palette, normal 60%)\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [--custom-palette\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (-2) should be [--custom-palette\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (-0.25) should be [--custom-palette\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (0) should be [--custom-palette\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (0.3) should be [palette-mix(in oklab, --custom-palette, normal 30%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (0.6) should be [palette-mix(in oklab, --custom-palette, normal 60%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [--custom-palette\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (-2) should be [--custom-palette\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (-0.25) should be [--custom-palette\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (0) should be [--custom-palette\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (0.3) should be [palette-mix(in oklab, --custom-palette, normal 30%)\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (0.6) should be [palette-mix(in oklab, --custom-palette, normal 60%)\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [--custom-palette\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (-2) should be [--custom-palette\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (-0.25) should be [--custom-palette\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (0) should be [--custom-palette\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (0.3) should be [palette-mix(in oklab, --custom-palette, normal 30%)\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (0.6) should be [palette-mix(in oklab, --custom-palette, normal 60%)\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [Web Animations: property from [--custom-palette\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (-2) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (-0.25) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (0) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (0.3) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (0.6) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [CSS Transitions: property from [initial\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (-2) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (-0.25) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (0) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (0.3) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (0.6) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [initial\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (-2) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (-0.25) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (0) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (0.3) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (0.6) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [CSS Animations: property from [initial\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (-2) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (-0.25) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (0) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (0.3) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (0.6) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (1) should be [normal\]] + expected: FAIL + + [Web Animations: property from [initial\] to [normal\] at (1.5) should be [normal\]] + expected: FAIL + + [An interpolation to inherit updates correctly on a parent style change.] + expected: FAIL + + [Test additive animations] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/palette-mix-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/palette-mix-computed.html.ini new file mode 100644 index 00000000000..30c4656acac --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/palette-mix-computed.html.ini @@ -0,0 +1,81 @@ +[palette-mix-computed.html] + [Property font-palette value 'palette-mix(in oklab, light 30%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 30%, light)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 30%, normal)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, --custom-palette 30%, normal)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 50%, dark 50%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light, dark 50%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 50%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 50%, dark 70%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 70%, dark 70%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light, dark 70%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 30%, dark 70%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 60%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 10%, dark 40%)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in hsl, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in hwb, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in lch, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklch, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in lab, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in srgb, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in srgb-linear, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in xyz, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in xyz-d50, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in xyz-d65, light 10%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, palette-mix(in srgb, light 30%, normal) 20%, dark)'] + expected: FAIL + + [Property font-palette value 'palette-mix(in oklab, palette-mix(in srgb, light 30%, normal) 30%, palette-mix(in srgb, --custom-palette 30%, dark))'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/rcap-in-monospace.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/rcap-in-monospace.html.ini new file mode 100644 index 00000000000..43c07d772f2 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/rcap-in-monospace.html.ini @@ -0,0 +1,2 @@ +[rcap-in-monospace.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/rch-in-monospace.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/rch-in-monospace.html.ini new file mode 100644 index 00000000000..a17b4e5c53f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/rch-in-monospace.html.ini @@ -0,0 +1,2 @@ +[rch-in-monospace.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/rex-in-monospace.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/rex-in-monospace.html.ini new file mode 100644 index 00000000000..0567da868b8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/rex-in-monospace.html.ini @@ -0,0 +1,2 @@ +[rex-in-monospace.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/ric-in-monospace.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/ric-in-monospace.html.ini new file mode 100644 index 00000000000..45092377da0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/ric-in-monospace.html.ini @@ -0,0 +1,2 @@ +[ric-in-monospace.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/variations/font-weight-matching.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/variations/font-weight-matching.html.ini index 5d6fc3e8ed5..c6172dfc8e8 100644 --- a/tests/wpt/meta-legacy-layout/css/css-fonts/variations/font-weight-matching.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/variations/font-weight-matching.html.ini @@ -37,3 +37,6 @@ [Test @font-face matching for weight 420] expected: FAIL + + [Test @font-face matching for weight 100] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-position/backdrop-inherit-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/backdrop-inherit-computed.html.ini new file mode 100644 index 00000000000..2a9378d9bbb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-position/backdrop-inherit-computed.html.ini @@ -0,0 +1,2 @@ +[backdrop-inherit-computed.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html.ini new file mode 100644 index 00000000000..1a98d8ff779 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html.ini @@ -0,0 +1,2 @@ +[selection-pseudo-with-decoration-invalidation-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html.ini new file mode 100644 index 00000000000..17d161ef076 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html.ini @@ -0,0 +1,2 @@ +[selection-pseudo-with-decoration-invalidation-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html.ini new file mode 100644 index 00000000000..3c88e7c0734 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html.ini @@ -0,0 +1,2 @@ +[hanging-punctuation-first-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-autospace-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-autospace-valid.html.ini index 77015f212ee..bbfd554dad3 100644 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-autospace-valid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-autospace-valid.html.ini @@ -28,3 +28,81 @@ [e.style['text-autospace'\] = "punctuation ideograph-alpha ideograph-numeric" should set the property value] expected: FAIL + + [e.style['text-autospace'\] = "ideograph-alpha insert" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "ideograph-numeric insert" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "ideograph-alpha ideograph-numeric insert" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "punctuation insert" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "punctuation normal insert" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "punctuation ideograph-alpha insert" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert ideograph-alpha" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert ideograph-numeric" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert ideograph-alpha ideograph-numeric" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert punctuation" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert punctuation normal" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert punctuation ideograph-alpha" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "insert punctuation ideograph-alpha ideograph-numeric" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "ideograph-alpha replace" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "ideograph-numeric replace" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "ideograph-alpha ideograph-numeric replace" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "punctuation replace" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "punctuation normal replace" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "punctuation ideograph-alpha replace" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace ideograph-alpha" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace ideograph-numeric" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace ideograph-alpha ideograph-numeric" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace punctuation" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace punctuation normal" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace punctuation ideograph-alpha" should set the property value] + expected: FAIL + + [e.style['text-autospace'\] = "replace punctuation ideograph-alpha ideograph-numeric" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-spacing-trim-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-spacing-trim-computed.html.ini new file mode 100644 index 00000000000..55f43aa1353 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-spacing-trim-computed.html.ini @@ -0,0 +1,24 @@ +[text-spacing-trim-computed.html] + [Property text-spacing-trim value 'auto'] + expected: FAIL + + [Property text-spacing-trim value 'space-all'] + expected: FAIL + + [Property text-spacing-trim value 'trim-auto'] + expected: FAIL + + [Property text-spacing-trim value 'trim-all'] + expected: FAIL + + [Property text-spacing-trim value 'allow-end'] + expected: FAIL + + [Property text-spacing-trim value 'space-first'] + expected: FAIL + + [Property text-spacing-trim value 'allow-end space-first'] + expected: FAIL + + [Property text-spacing-trim value 'space-first allow-end'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-spacing-trim-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-spacing-trim-valid.html.ini new file mode 100644 index 00000000000..dc325c5f4c5 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-spacing-trim-valid.html.ini @@ -0,0 +1,24 @@ +[text-spacing-trim-valid.html] + [e.style['text-spacing-trim'\] = "auto" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "space-all" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "trim-auto" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "trim-all" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "allow-end" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "space-first" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "allow-end space-first" should set the property value] + expected: FAIL + + [e.style['text-spacing-trim'\] = "space-first allow-end" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-wrap-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-wrap-valid.html.ini index 6900f7a1f73..9eb9caae38e 100644 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-wrap-valid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/text-wrap-valid.html.ini @@ -28,3 +28,54 @@ [e.style['text-wrap'\] = "revert-layer" should set the property value] expected: FAIL + + [e.style['text-wrap'\] = "auto" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "wrap auto" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "wrap balance" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "wrap pretty" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "wrap stable" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "auto wrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "balance wrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "pretty wrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "stable wrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "nowrap auto" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "nowrap balance" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "nowrap pretty" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "nowrap stable" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "auto nowrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "balance nowrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "pretty nowrap" should set the property value] + expected: FAIL + + [e.style['text-wrap'\] = "stable nowrap" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-detection-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-detection-computed.html.ini deleted file mode 100644 index 59898e48af0..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-detection-computed.html.ini +++ /dev/null @@ -1,13 +0,0 @@ -[word-boundary-detection-computed.html] - [Property word-boundary-detection value 'normal' computes to 'normal'] - expected: FAIL - - [Property word-boundary-detection value 'manual' computes to 'manual'] - expected: FAIL - - [Property word-boundary-detection value 'manual'] - expected: FAIL - - [Property word-boundary-detection value 'normal'] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-detection-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-detection-valid.html.ini deleted file mode 100644 index c05d7a883cb..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-detection-valid.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[word-boundary-detection-valid.html] - [e.style['word-boundary-detection'\] = "normal" should set the property value] - expected: FAIL - - [e.style['word-boundary-detection'\] = "manual" should set the property value] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-expansion-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-expansion-computed.html.ini deleted file mode 100644 index 1ec2a730d65..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-expansion-computed.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[word-boundary-expansion-computed.html] - [Property word-boundary-expansion value 'space' computes to 'space'] - expected: FAIL - - [Property word-boundary-expansion value 'ideographic-space' computes to 'ideographic-space'] - expected: FAIL - - [Property word-boundary-expansion value 'none' computes to 'none'] - expected: FAIL - - [Property word-boundary-expansion value 'none'] - expected: FAIL - - [Property word-boundary-expansion value 'ideographic-space'] - expected: FAIL - - [Property word-boundary-expansion value 'space'] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-expansion-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-expansion-valid.html.ini deleted file mode 100644 index c1f25ca839c..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-boundary-expansion-valid.html.ini +++ /dev/null @@ -1,10 +0,0 @@ -[word-boundary-expansion-valid.html] - [e.style['word-boundary-expansion'\] = "space" should set the property value] - expected: FAIL - - [e.style['word-boundary-expansion'\] = "ideographic-space" should set the property value] - expected: FAIL - - [e.style['word-boundary-expansion'\] = "none" should set the property value] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-break-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-break-valid.html.ini index ef2cd5e9fe4..fbc5d81efe9 100644 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-break-valid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-break-valid.html.ini @@ -4,3 +4,6 @@ [e.style['word-break'\] = "auto-phrase" should set the property value] expected: FAIL + + [e.style['word-break'\] = "manual" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-space-transform-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-space-transform-computed.html.ini new file mode 100644 index 00000000000..42cbfb34cf9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-space-transform-computed.html.ini @@ -0,0 +1,15 @@ +[word-space-transform-computed.html] + [Property word-space-transform value 'none'] + expected: FAIL + + [Property word-space-transform value 'space'] + expected: FAIL + + [Property word-space-transform value 'ideographic-space'] + expected: FAIL + + [Property word-space-transform value 'space auto-phrase'] + expected: FAIL + + [Property word-space-transform value 'ideographic-space auto-phrase'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-space-transform-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-space-transform-valid.html.ini new file mode 100644 index 00000000000..fefac5f0336 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/word-space-transform-valid.html.ini @@ -0,0 +1,21 @@ +[word-space-transform-valid.html] + [e.style['word-space-transform'\] = "none" should set the property value] + expected: FAIL + + [e.style['word-space-transform'\] = "space" should set the property value] + expected: FAIL + + [e.style['word-space-transform'\] = "ideographic-space" should set the property value] + expected: FAIL + + [e.style['word-space-transform'\] = "space auto-phrase" should set the property value] + expected: FAIL + + [e.style['word-space-transform'\] = "ideographic-space auto-phrase" should set the property value] + expected: FAIL + + [e.style['word-space-transform'\] = "auto-phrase space" should set the property value] + expected: FAIL + + [e.style['word-space-transform'\] = "auto-phrase ideographic-space" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/tab-size/tab-size-integer-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/tab-size/tab-size-integer-005.html.ini new file mode 100644 index 00000000000..50ef08178ba --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/tab-size/tab-size-integer-005.html.ini @@ -0,0 +1,2 @@ +[tab-size-integer-005.html] + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-001.html.ini new file mode 100644 index 00000000000..81c60721b6b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-001.html.ini @@ -0,0 +1,2 @@ +[text-autospace-001.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-break-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-break-001.html.ini new file mode 100644 index 00000000000..eef64d20e85 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-break-001.html.ini @@ -0,0 +1,2 @@ +[text-autospace-break-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-dynamic-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-dynamic-001.html.ini new file mode 100644 index 00000000000..95739378448 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-dynamic-001.html.ini @@ -0,0 +1,2 @@ +[text-autospace-dynamic-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-first-line-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-first-line-001.html.ini new file mode 100644 index 00000000000..3f928a6194d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-first-line-001.html.ini @@ -0,0 +1,3 @@ +[text-autospace-first-line-001.html] + [text-autospace-first-line-001] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-ligature-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-ligature-001.html.ini new file mode 100644 index 00000000000..67c2adbfe7e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-ligature-001.html.ini @@ -0,0 +1,2 @@ +[text-autospace-ligature-001.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-no-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-no-001.html.ini new file mode 100644 index 00000000000..853b10e9a36 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-autospace/text-autospace-no-001.html.ini @@ -0,0 +1,2 @@ +[text-autospace-no-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-colon-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-colon-001.html.ini new file mode 100644 index 00000000000..fd495eb2ba9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-colon-001.html.ini @@ -0,0 +1,5 @@ +[text-spacing-trim-colon-001.html?class=chws,vrl] + expected: FAIL + +[text-spacing-trim-colon-001.html?class=halt,vrl] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-combinations-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-combinations-001.html.ini new file mode 100644 index 00000000000..52b0d0166bc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-combinations-001.html.ini @@ -0,0 +1,27 @@ +[text-spacing-trim-combinations-001.html] + ["国((国"] + expected: FAIL + + ["国・(国"] + expected: FAIL + + ["国)(国"] + expected: FAIL + + ["国 (国"] + expected: FAIL + + ["国))国"] + expected: FAIL + + ["国)・国"] + expected: FAIL + + ["国) 国"] + expected: FAIL + + ["国(((国"] + expected: FAIL + + ["国)))国"] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-dot-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-dot-001.html.ini new file mode 100644 index 00000000000..22931cb6723 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/text-spacing-trim/text-spacing-trim-dot-001.html.ini @@ -0,0 +1,5 @@ +[text-spacing-trim-dot-001.html?class=halt,vrl] + expected: FAIL + +[text-spacing-trim-dot-001.html?class=chws,vrl] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-collapse-discard-001.xht.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-collapse-discard-001.xht.ini deleted file mode 100644 index c7046e79914..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-collapse-discard-001.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[text-space-collapse-discard-001.xht] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht.ini deleted file mode 100644 index 343f85988a2..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[text-space-collapse-preserve-breaks-001.xht] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-trim-trim-inner-001.xht.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-trim-trim-inner-001.xht.ini deleted file mode 100644 index 52470fe1c5b..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-space-trim-trim-inner-001.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[text-space-trim-trim-inner-001.xht] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-001.html.ini new file mode 100644 index 00000000000..7cd37398508 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-001.html.ini @@ -0,0 +1,2 @@ +[text-wrap-balance-float-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-002.html.ini new file mode 100644 index 00000000000..656abfbba7b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-002.html.ini @@ -0,0 +1,2 @@ +[text-wrap-balance-float-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-003.html.ini new file mode 100644 index 00000000000..c0fb44fa721 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-003.html.ini @@ -0,0 +1,2 @@ +[text-wrap-balance-float-003.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-004.html.ini new file mode 100644 index 00000000000..6ab8fe344ba --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-004.html.ini @@ -0,0 +1,2 @@ +[text-wrap-balance-float-004.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-005.html.ini new file mode 100644 index 00000000000..68ca02454b8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-balance-float-005.html.ini @@ -0,0 +1,2 @@ +[text-wrap-balance-float-005.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-collapse-discard-001.xht.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-collapse-discard-001.xht.ini new file mode 100644 index 00000000000..16d18cbbbcf --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-collapse-discard-001.xht.ini @@ -0,0 +1,2 @@ +[white-space-collapse-discard-001.xht] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-collapse-preserve-breaks-001.xht.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-collapse-preserve-breaks-001.xht.ini new file mode 100644 index 00000000000..338c942aeab --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-collapse-preserve-breaks-001.xht.ini @@ -0,0 +1,2 @@ +[white-space-collapse-preserve-breaks-001.xht] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-trim-discard-inner-001.xht.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-trim-discard-inner-001.xht.ini new file mode 100644 index 00000000000..b360d5c85e6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/white-space-trim-discard-inner-001.xht.ini @@ -0,0 +1,2 @@ +[white-space-trim-discard-inner-001.xht] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-001.html.ini deleted file mode 100644 index 201a7f68bc6..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-001.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-002.html.ini deleted file mode 100644 index 671edc8c6b6..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-002.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-003.html.ini deleted file mode 100644 index dcc7ea518e3..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-003.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-004.html.ini deleted file mode 100644 index c2ed0704079..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-004.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-004.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-005.html.ini deleted file mode 100644 index 5c8f8888bf1..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-005.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-005.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-006.html.ini deleted file mode 100644 index 59990e91eff..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-006.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-006.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-007.html.ini deleted file mode 100644 index e4f9fe57f1c..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-007.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-007.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-008.html.ini deleted file mode 100644 index 3d3bda613ff..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-008.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-008.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-009.html.ini deleted file mode 100644 index bf153d1a569..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-009.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-009.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-010.html.ini deleted file mode 100644 index bb02af24b3d..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-010.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-010.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-011.html.ini deleted file mode 100644 index bacbc5fdf59..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-011.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-012.html.ini deleted file mode 100644 index 00e16d20863..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-012.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-012.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-013.html.ini deleted file mode 100644 index 0171725420f..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-013.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-013.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-014.html.ini deleted file mode 100644 index 705d9e14464..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-014.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-014.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-102.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-102.html.ini deleted file mode 100644 index 0e40fcb9f09..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-102.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-102.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-103.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-103.html.ini deleted file mode 100644 index 27899b63155..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-103.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-103.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-104.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-104.html.ini deleted file mode 100644 index 77f96a47ac0..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-104.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-104.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-105.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-105.html.ini deleted file mode 100644 index 840044bc006..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-105.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-105.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-107.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-107.html.ini deleted file mode 100644 index 63d6fcc1168..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-107.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-107.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-108.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-108.html.ini deleted file mode 100644 index 767d3ca5a00..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-108.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-108.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-109.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-109.html.ini deleted file mode 100644 index 7fcf6cd2867..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-109.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-109.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-110.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-110.html.ini deleted file mode 100644 index a17d0a24611..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-110.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-110.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-112.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-112.html.ini deleted file mode 100644 index ee07c319feb..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-112.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-112.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-113.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-113.html.ini deleted file mode 100644 index abea305088f..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-113.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-113.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-114.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-114.html.ini deleted file mode 100644 index da95790bcf8..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-114.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-114.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-115.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-115.html.ini deleted file mode 100644 index d85c5512b66..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-115.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-115.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-116.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-116.html.ini deleted file mode 100644 index 6968d8f652c..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-116.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-116.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-117.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-117.html.ini deleted file mode 100644 index f62025e8326..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-117.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-117.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-118.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-118.html.ini deleted file mode 100644 index 7d7e9975994..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-118.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-118.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-119.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-119.html.ini deleted file mode 100644 index fab9077f0b5..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-119.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-119.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-120.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-120.html.ini deleted file mode 100644 index 450539a5df9..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-120.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-120.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-121.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-121.html.ini deleted file mode 100644 index 0337c634dd9..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-121.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-121.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-122.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-122.html.ini deleted file mode 100644 index ece305eb8a4..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-122.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-122.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-123.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-123.html.ini deleted file mode 100644 index 2ec608aa4fd..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-123.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-123.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-124.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-124.html.ini deleted file mode 100644 index 199463f5151..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-124.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-124.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-125.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-125.html.ini deleted file mode 100644 index 0acaeca9615..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-125.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-125.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-126.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-126.html.ini deleted file mode 100644 index 024b35d55b2..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-126.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-126.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-127.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-127.html.ini deleted file mode 100644 index 7e43d876903..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-127.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-127.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-128.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-128.html.ini deleted file mode 100644 index c517a4e1d54..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-128.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-128.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-129.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-129.html.ini deleted file mode 100644 index d14e053675b..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/word-boundary/word-boundary-129.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-boundary-129.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-002.html.ini new file mode 100644 index 00000000000..db03fede0af --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-002.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-003.html.ini new file mode 100644 index 00000000000..795ac13c70b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-003.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-003.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-th-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-th-001.html.ini new file mode 100644 index 00000000000..ae690e382e8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-break/word-break-normal-th-001.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-th-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-001.html.ini new file mode 100644 index 00000000000..ed36235dcec --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-001.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-002.html.ini new file mode 100644 index 00000000000..fb4d1903d09 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-002.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-003.html.ini new file mode 100644 index 00000000000..1caf1da34db --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-003.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-003.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-004.html.ini new file mode 100644 index 00000000000..e100a5456f0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-004.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-004.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-005.html.ini new file mode 100644 index 00000000000..4488941951d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-005.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-005.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-006.html.ini new file mode 100644 index 00000000000..569650aae57 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-006.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-006.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-007.html.ini new file mode 100644 index 00000000000..a1f2b899404 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-007.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-007.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-008.html.ini new file mode 100644 index 00000000000..049a1f539ec --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-008.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-008.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-009.html.ini new file mode 100644 index 00000000000..c624473164b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-009.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-009.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-010.html.ini new file mode 100644 index 00000000000..d8629a7ab48 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-010.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-010.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-011.html.ini new file mode 100644 index 00000000000..e5c52041b3b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-011.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-011.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-012.html.ini new file mode 100644 index 00000000000..51355eea6e6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-012.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-012.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-013.html.ini new file mode 100644 index 00000000000..e02e91b487d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-013.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-013.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-014.html.ini new file mode 100644 index 00000000000..010bd971a8d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-014.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-014.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-016.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-016.html.ini new file mode 100644 index 00000000000..da648618bdd --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-016.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-016.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-017.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-017.html.ini new file mode 100644 index 00000000000..4d3381aef7e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-017.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-017.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-018.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-018.html.ini new file mode 100644 index 00000000000..5936b3509b0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-018.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-018.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-019.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-019.html.ini new file mode 100644 index 00000000000..60151dc8599 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-019.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-019.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-023.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-023.html.ini new file mode 100644 index 00000000000..3e71717adb4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-023.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-023.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-030.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-030.html.ini new file mode 100644 index 00000000000..a256c81a56d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-text/word-space-transform/word-space-transform-030.html.ini @@ -0,0 +1,2 @@ +[word-space-transform-030.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-002.html.ini new file mode 100644 index 00000000000..64ec6ecd1f5 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-002.html.ini @@ -0,0 +1,2 @@ +[backface-visibility-hidden-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-002.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-002.tentative.html.ini deleted file mode 100644 index 841c42ee93d..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-002.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backface-visibility-hidden-002.tentative.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-003.html.ini new file mode 100644 index 00000000000..423ef90b4fa --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-003.html.ini @@ -0,0 +1,2 @@ +[backface-visibility-hidden-003.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-003.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-003.tentative.html.ini deleted file mode 100644 index 7fe78cc9418..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-003.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backface-visibility-hidden-003.tentative.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-004.html.ini new file mode 100644 index 00000000000..9b7a0872986 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-004.html.ini @@ -0,0 +1,2 @@ +[backface-visibility-hidden-004.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-005.html.ini new file mode 100644 index 00000000000..ac8498a18f3 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-005.html.ini @@ -0,0 +1,2 @@ +[backface-visibility-hidden-005.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-animated-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-animated-002.html.ini deleted file mode 100644 index 90198176f4d..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-transforms/backface-visibility-hidden-animated-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backface-visibility-hidden-animated-002.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/transform-2d-getComputedStyle-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/transform-2d-getComputedStyle-001.html.ini index c845caf3022..ee407f81468 100644 --- a/tests/wpt/meta-legacy-layout/css/css-transforms/transform-2d-getComputedStyle-001.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/transform-2d-getComputedStyle-001.html.ini @@ -11,6 +11,3 @@ [Matrix for skew] expected: FAIL - - [Matrix for general transform] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/transform-input-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/transform-input-009.html.ini index 51a18a634fd..9d12d774203 100644 --- a/tests/wpt/meta-legacy-layout/css/css-transforms/transform-input-009.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/transform-input-009.html.ini @@ -1,3 +1,2 @@ [transform-input-009.html] bug: https://github.com/servo/servo/issues/21092 - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transitions/idlharness-2.html.ini b/tests/wpt/meta-legacy-layout/css/css-transitions/idlharness-2.html.ini index ec9b24fdaeb..565a1224007 100644 --- a/tests/wpt/meta-legacy-layout/css/css-transitions/idlharness-2.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-transitions/idlharness-2.html.ini @@ -19,3 +19,27 @@ [CSSTransition interface: attribute transitionProperty] expected: FAIL + + [CSSStartingStyleRule interface: existence and properties of interface object] + expected: FAIL + + [CSSStartingStyleRule interface object length] + expected: FAIL + + [CSSStartingStyleRule interface object name] + expected: FAIL + + [CSSStartingStyleRule interface: existence and properties of interface prototype object] + expected: FAIL + + [CSSStartingStyleRule interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [CSSStartingStyleRule interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [CSSStartingStyleRule must be primary interface of sheet.cssRules[0\]] + expected: FAIL + + [Stringification of sheet.cssRules[0\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/negative-outline-offset.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/negative-outline-offset.html.ini new file mode 100644 index 00000000000..5883faa6763 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-ui/negative-outline-offset.html.ini @@ -0,0 +1,2 @@ +[negative-outline-offset.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/form-sizing-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/form-sizing-computed.html.ini new file mode 100644 index 00000000000..39141cebc56 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/form-sizing-computed.html.ini @@ -0,0 +1,6 @@ +[form-sizing-computed.html] + [Property form-sizing value 'auto'] + expected: FAIL + + [Property form-sizing value 'normal'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/form-sizing-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/form-sizing-valid.html.ini new file mode 100644 index 00000000000..cda7dbed687 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/form-sizing-valid.html.ini @@ -0,0 +1,6 @@ +[form-sizing-valid.html] + [e.style['form-sizing'\] = "auto" should set the property value] + expected: FAIL + + [e.style['form-sizing'\] = "normal" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-computed.html.ini new file mode 100644 index 00000000000..9b6d67c9ca8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-computed.html.ini @@ -0,0 +1,3 @@ +[outline-color-computed.html] + [auto computes to itself or to currentColor depending on the value of outline-style] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-valid-optional.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-valid-optional.html.ini deleted file mode 100644 index 9b4b531885b..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-valid-optional.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[outline-color-valid-optional.html] - [e.style['outline-color'\] = "invert" should set the property value] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-valid.html.ini new file mode 100644 index 00000000000..d751a6aa1b1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-color-valid.html.ini @@ -0,0 +1,3 @@ +[outline-color-valid.html] + [e.style['outline-color'\] = "auto" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-valid-optional.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-valid-optional.html.ini deleted file mode 100644 index afd6185502b..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/outline-valid-optional.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[outline-valid-optional.html] - [e.style['outline'\] = "invert" should set the property value] - expected: FAIL - - [e.style['outline'\] = "invert dotted 1px" should set the property value] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/css-values/acos-asin-atan-atan2-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/acos-asin-atan-atan2-computed.html.ini index 11c22e299d5..3b8371f8577 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/acos-asin-atan-atan2-computed.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/acos-asin-atan-atan2-computed.html.ini @@ -124,3 +124,9 @@ [calc(atan2(0,-1) / 4) should be used-value-equivalent to 45deg] expected: FAIL + + [atan2(1rem + 1px - 1px, -1rem) should be used-value-equivalent to 135deg] + expected: FAIL + + [atan2(1vh + 0px, -1vh + 0px) should be used-value-equivalent to 135deg] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-computed.html.ini index add1bb314b6..860d2cb5f2a 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-computed.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-computed.html.ini @@ -10,3 +10,6 @@ [Property letter-spacing value 'clamp(10px, 20px, 30px)' computes to '20px'] expected: FAIL + + [Property letter-spacing value 'calc(0px - clamp(30px, 100px, 20px))'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-serialize.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-serialize.html.ini new file mode 100644 index 00000000000..944c6860e3e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-values/clamp-length-serialize.html.ini @@ -0,0 +1,12 @@ +[clamp-length-serialize.html] + [e.style['letter-spacing'\] = "calc(0px - clamp(30px, 100px, 20px))" should set the property value] + expected: FAIL + + [e.style['letter-spacing'\] = "calc(calc(0px - clamp(30px, 100px, 20px)))" should set the property value] + expected: FAIL + + [e.style['letter-spacing'\] = "calc(0px - clamp(1px, 1em, 1vh))" should set the property value] + expected: FAIL + + [e.style['letter-spacing'\] = "calc(calc(0px - clamp(1px, 1em, 1vh)))" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/lh-unit-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/lh-unit-005.html.ini new file mode 100644 index 00000000000..e2cc94a5f11 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-values/lh-unit-005.html.ini @@ -0,0 +1,3 @@ +[lh-unit-005.html] + [lh relative to line-height inherited from parent] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/elementFromPoint-list-001.html.ini index 59347f6c432..0352721aa80 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom-view/elementFromPoint-list-001.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom-view/elementFromPoint-list-001.html.ini @@ -1,19 +1,10 @@ [elementFromPoint-list-001.html] - [
  • Outside 1
  • ] - expected: FAIL - - [
  • Image Outside 2
  • ] - expected: FAIL - [
  • Outside 2
  • ] expected: FAIL [
  • Image Outside 1
  • ] expected: FAIL - [
  • Outside 3
  • ] - expected: FAIL - [
  • Inside 1
  • ] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/scroll-behavior-smooth-navigation.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/scroll-behavior-smooth-navigation.html.ini index 977ef8f774c..a3e30250229 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom-view/scroll-behavior-smooth-navigation.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom-view/scroll-behavior-smooth-navigation.html.ini @@ -1,3 +1,6 @@ [scroll-behavior-smooth-navigation.html] [Instant scrolling while doing history navigation.] expected: FAIL + + [Smooth scrolling while doing history navigation.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-insets-absolute-roundtrip.html.ini b/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-insets-absolute-roundtrip.html.ini new file mode 100644 index 00000000000..081101e1f12 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-insets-absolute-roundtrip.html.ini @@ -0,0 +1,6 @@ +[getComputedStyle-insets-absolute-roundtrip.html] + [Fixed-length right property value should roundtrip] + expected: FAIL + + [Fixed-length bottom property value should roundtrip] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo.html.ini b/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo.html.ini index c8359899ba7..8aab037c522 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo.html.ini @@ -19,3 +19,6 @@ [Unknown pseudo-elements] expected: FAIL + + [Unknown pseudo-element with a known string (ex: marker)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom/serialize-values.html.ini b/tests/wpt/meta-legacy-layout/css/cssom/serialize-values.html.ini index 701fa2d1b31..dedb5905d11 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom/serialize-values.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom/serialize-values.html.ini @@ -83,47 +83,20 @@ [widows: inherit] expected: FAIL - [background-position: 5% center] + [content: attr( |bar )] expected: FAIL - [background-position: .5% center] + [content: attr(foo-bar, "fallback")] expected: FAIL - [background-position: -5% center] + [content: attr(foo_bar, "fallback")] expected: FAIL - [background-position: -.5% center] + [content: attr(|bar, "fallback")] expected: FAIL - [background-position: 0px center] + [content: attr(foo, "")] expected: FAIL - [background-position: 1px center] - expected: FAIL - - [background-position: .1em center] - expected: FAIL - - [background-position: -0px center] - expected: FAIL - - [background-position: -1px center] - expected: FAIL - - [background-position: -.1em center] - expected: FAIL - - [background-position: left center] - expected: FAIL - - [background-position: center top] - expected: FAIL - - [background-position: center center] - expected: FAIL - - [background-position: center bottom] - expected: FAIL - - [background-position: right center] + [content: attr( |foo , "" )] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/filter-effects/drop-shadow-currentcolor-dynamic-002.html.ini b/tests/wpt/meta-legacy-layout/css/filter-effects/drop-shadow-currentcolor-dynamic-002.html.ini new file mode 100644 index 00000000000..118b2b9c5ae --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/filter-effects/drop-shadow-currentcolor-dynamic-002.html.ini @@ -0,0 +1,2 @@ +[drop-shadow-currentcolor-dynamic-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/mediaqueries/display-mode.html.ini b/tests/wpt/meta-legacy-layout/css/mediaqueries/display-mode.html.ini new file mode 100644 index 00000000000..07c8a260134 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/mediaqueries/display-mode.html.ini @@ -0,0 +1,33 @@ +[display-mode.html] + [Should be known: '(display-mode)'] + expected: FAIL + + [Should be known: '(display-mode: standalone)'] + expected: FAIL + + [Should be known: '(display-mode: browser)'] + expected: FAIL + + [Should be known: '(display-mode: minimal-ui)'] + expected: FAIL + + [Should be known: '(display-mode: fullscreen)'] + expected: FAIL + + [Should be parseable: '(display-mode: 0)'] + expected: FAIL + + [Should be parseable: '(display-mode: none)'] + expected: FAIL + + [Should be parseable: '(display-mode: random)'] + expected: FAIL + + [Should be parseable: '(display-mode: 10px)'] + expected: FAIL + + [Should be parseable: '(display-mode: 1%)'] + expected: FAIL + + [Check that display-mode evaluates to true in the boolean context] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/mediaqueries/display-mode.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/mediaqueries/display-mode.tentative.html.ini new file mode 100644 index 00000000000..1d1233a85e9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/mediaqueries/display-mode.tentative.html.ini @@ -0,0 +1,6 @@ +[display-mode.tentative.html] + [Should be known: '(display-mode: borderless)'] + expected: FAIL + + [Should be known: '(display-mode: window-controls-overlay)'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/dir-pseudo-on-input-element.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/dir-pseudo-on-input-element.html.ini index d00922ca86d..2d9fe551053 100644 --- a/tests/wpt/meta-legacy-layout/css/selectors/dir-pseudo-on-input-element.html.ini +++ b/tests/wpt/meta-legacy-layout/css/selectors/dir-pseudo-on-input-element.html.ini @@ -52,3 +52,6 @@ [input element whose type attribute is in the button state] expected: FAIL + + [dynamic changes to type of input elements affect whether value is used for dir=auto] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/empty-pseudo-in-has.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/empty-pseudo-in-has.html.ini index f98c5d0c507..417afceab88 100644 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/empty-pseudo-in-has.html.ini +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/empty-pseudo-in-has.html.ini @@ -4,3 +4,12 @@ [Insert div to div.#child] expected: FAIL + + [Remove div from div.#child] + expected: FAIL + + [Insert text into div.#child] + expected: FAIL + + [Remove text from div.#child] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-sibling-insertion-removal.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-sibling-insertion-removal.html.ini new file mode 100644 index 00000000000..76513c88a16 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-sibling-insertion-removal.html.ini @@ -0,0 +1,36 @@ +[has-sibling-insertion-removal.html] + [subject1: color after #sibling1_1 inserted should be rgb(255, 0, 0)] + expected: FAIL + + [subject2: color after #sibling2_1 removed should be rgb(0, 128, 0)] + expected: FAIL + + [subject3: color after #sibling3_1 inserted should be rgb(0, 0, 255)] + expected: FAIL + + [subject4: color after #sibling4_1 removed should be rgb(255, 255, 0)] + expected: FAIL + + [subject5: initial color should be rgb(255, 0, 0)] + expected: FAIL + + [subject6: initial color should be rgb(0, 128, 0)] + expected: FAIL + + [subject7: initial color should be rgb(0, 0, 255)] + expected: FAIL + + [subject8: initial color should be rgb(255, 255, 0)] + expected: FAIL + + [subject9: color after #sibling9_1 inserted should be rgb(255, 0, 0)] + expected: FAIL + + [subject10: color after #sibling10_1 removed should be rgb(0, 128, 0)] + expected: FAIL + + [subject11: color after #sibling11_1 inserted should be rgb(0, 0, 255)] + expected: FAIL + + [subject12: color after #sibling12_1 removed should be rgb(255, 255, 0)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-side-effect.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-side-effect.html.ini new file mode 100644 index 00000000000..3f185795710 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-side-effect.html.ini @@ -0,0 +1,3 @@ +[has-side-effect.html] + [Matches after #blocks_match removed] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-unstyled.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-unstyled.html.ini new file mode 100644 index 00000000000..188649ade83 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/has-unstyled.html.ini @@ -0,0 +1,12 @@ +[has-unstyled.html] + [add test to subject_descendant] + expected: FAIL + + [add test to sibling_descendant] + expected: FAIL + + [add test_inner to subject_child] + expected: FAIL + + [add test_inner to sibling_child] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/host-context-pseudo-class-in-has.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/host-context-pseudo-class-in-has.html.ini new file mode 100644 index 00000000000..b9fdb7253a3 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/host-context-pseudo-class-in-has.html.ini @@ -0,0 +1,2 @@ +[host-context-pseudo-class-in-has.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/input-pseudo-classes-in-has.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/input-pseudo-classes-in-has.html.ini index b0a26dc9513..a238d3f6b87 100644 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/input-pseudo-classes-in-has.html.ini +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/input-pseudo-classes-in-has.html.ini @@ -25,3 +25,6 @@ [:placeholder-shown invalidation] expected: FAIL + + [:default invalidation with input[type=checkbox\] and assignment to .checked] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/part-pseudo.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/part-pseudo.html.ini new file mode 100644 index 00000000000..10f1aa0b918 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/part-pseudo.html.ini @@ -0,0 +1,2 @@ +[part-pseudo.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/placeholder-shown.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/placeholder-shown.html.ini new file mode 100644 index 00000000000..b13be0abf60 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/placeholder-shown.html.ini @@ -0,0 +1,3 @@ +[placeholder-shown.html] + [Set placeholder text to empty string] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html.ini index 48b39b6115a..7b4af3d0cd3 100644 --- a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html.ini +++ b/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html.ini @@ -13,3 +13,6 @@ [".a:has(:is(.b:has(.c), .d))" should be a valid selector] expected: FAIL + + [CSS Selectors: The relational pseudo-class (disallow nesting :has() inside :has())] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/placeholder-shown.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/placeholder-shown.html.ini new file mode 100644 index 00000000000..2a504fb4c85 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/selectors/placeholder-shown.html.ini @@ -0,0 +1,6 @@ +[placeholder-shown.html] + [CSS Selectors Test: :placeholder-shown matching 1] + expected: FAIL + + [CSS Selectors Test: :placeholder-shown matching 2] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/custom-elements/form-associated/focusability.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/form-associated/focusability.html.ini new file mode 100644 index 00000000000..2d7bc2a0f73 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/custom-elements/form-associated/focusability.html.ini @@ -0,0 +1,3 @@ +[focusability.html] + [Focusability of form-associated custom elements] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-createElement.tentative.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-createElement.tentative.html.ini new file mode 100644 index 00000000000..47b3baabc52 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-createElement.tentative.html.ini @@ -0,0 +1,12 @@ +[ShadowRoot-createElement.tentative.html] + [ShadowRoot.createElement() for autonomous custom element] + expected: FAIL + + [ShadowRoot.createElementNS() for autonomous custom element] + expected: FAIL + + [ShadowRoot.createElement() for customized built-in element] + expected: FAIL + + [ShadowRoot.createElementNS() for customized built-in element] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/events/Event-dispatch-single-activation-behavior.html.ini b/tests/wpt/meta-legacy-layout/dom/events/Event-dispatch-single-activation-behavior.html.ini new file mode 100644 index 00000000000..a464f5a1f72 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/events/Event-dispatch-single-activation-behavior.html.ini @@ -0,0 +1,117 @@ +[Event-dispatch-single-activation-behavior.html] + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child
    of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent
    , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL + + [When clicking child of parent , only child should be activated.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-declarative-brace-syntax.tentative.html.ini b/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-declarative-brace-syntax.tentative.html.ini new file mode 100644 index 00000000000..99e1e6ade1a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-declarative-brace-syntax.tentative.html.ini @@ -0,0 +1,33 @@ +[basic-dom-part-declarative-brace-syntax.tentative.html] + [Basic declarative DOM Parts (Main Document)] + expected: FAIL + + [Basic declarative DOM Parts (Template)] + expected: FAIL + + [Basic declarative DOM Parts (Clone)] + expected: FAIL + + [Basic declarative DOM Parts (PartClone)] + expected: FAIL + + [Post-parsing structure of child parts, and stickiness] + expected: FAIL + + [Parser only behavior - adding parseparts does nothing] + expected: FAIL + + [Just parts, no text before] + expected: FAIL + + [Self closing elements can't use parseparts] + expected: FAIL + + [Second head element can't use parseparts] + expected: FAIL + + [Foreign content should support Parts] + expected: FAIL + + [Not quite parts syntax - none should become parts, and nothing should crash] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-declarative-pi-syntax.tentative.html.ini b/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-declarative-pi-syntax.tentative.html.ini new file mode 100644 index 00000000000..3982572f016 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-declarative-pi-syntax.tentative.html.ini @@ -0,0 +1,12 @@ +[basic-dom-part-declarative-pi-syntax.tentative.html] + [Basic declarative DOM Parts (Main Document)] + expected: FAIL + + [Basic declarative DOM Parts (Template)] + expected: FAIL + + [Basic declarative DOM Parts (Clone)] + expected: FAIL + + [Basic declarative DOM Parts (PartClone)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-objects.tentative.html.ini b/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-objects.tentative.html.ini index 5daf7b7abad..20cde0f6f98 100644 --- a/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-objects.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/dom/parts/basic-dom-part-objects.tentative.html.ini @@ -79,3 +79,9 @@ [Basic declarative DOM Parts (DeclarativeShadowDOM)] expected: FAIL + + [DOM mutations are not tracked (Document)] + expected: FAIL + + [DOM mutations are not tracked (DocumentFragment)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-body.tentative.html.ini b/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-body.tentative.html.ini new file mode 100644 index 00000000000..ef4028dacc8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-body.tentative.html.ini @@ -0,0 +1,3 @@ +[dom-parts-parseparts-on-body.tentative.html] + [It is possible to put parseparts on the body element] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-head.tentative.html.ini b/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-head.tentative.html.ini new file mode 100644 index 00000000000..293e6143439 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-head.tentative.html.ini @@ -0,0 +1,3 @@ +[dom-parts-parseparts-on-head.tentative.html] + [It is not possible to put parseparts on the head element] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-root.tentative.html.ini b/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-root.tentative.html.ini new file mode 100644 index 00000000000..1f2b307165f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/parts/dom-parts-parseparts-on-root.tentative.html.ini @@ -0,0 +1,3 @@ +[dom-parts-parseparts-on-root.tentative.html] + [It is not possible to put parseparts on the root element] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/encoding/api-basics.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/api-basics.any.js.ini new file mode 100644 index 00000000000..81e89c26d43 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/api-basics.any.js.ini @@ -0,0 +1,6 @@ +[api-basics.any.html] + +[api-basics.any.worker.html] + +[api-basics.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/api-surrogates-utf8.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/api-surrogates-utf8.any.js.ini new file mode 100644 index 00000000000..f6c06fab7f9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/api-surrogates-utf8.any.js.ini @@ -0,0 +1,6 @@ +[api-surrogates-utf8.any.worker.html] + +[api-surrogates-utf8.any.html] + +[api-surrogates-utf8.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/iso-2022-jp-decoder.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/iso-2022-jp-decoder.any.js.ini new file mode 100644 index 00000000000..3e0f0c76981 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/iso-2022-jp-decoder.any.js.ini @@ -0,0 +1,6 @@ +[iso-2022-jp-decoder.any.html] + +[iso-2022-jp-decoder.any.shadowrealm.html] + expected: ERROR + +[iso-2022-jp-decoder.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/encoding/streams/backpressure.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/streams/backpressure.any.js.ini index b51399b7066..9d458d07d7a 100644 --- a/tests/wpt/meta-legacy-layout/encoding/streams/backpressure.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/streams/backpressure.any.js.ini @@ -43,3 +43,6 @@ [additional writes should wait for backpressure to be relieved for class TextEncoderStream] expected: FAIL + +[backpressure.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/streams/decode-attributes.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/streams/decode-attributes.any.js.ini index 9800e08b7fe..42497e80af5 100644 --- a/tests/wpt/meta-legacy-layout/encoding/streams/decode-attributes.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/streams/decode-attributes.any.js.ini @@ -181,3 +181,6 @@ [encoding attribute should have correct value for 'ascii'] expected: FAIL + +[decode-attributes.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/streams/decode-bad-chunks.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/streams/decode-bad-chunks.any.js.ini index 4a41d7010bd..28e91a1fa45 100644 --- a/tests/wpt/meta-legacy-layout/encoding/streams/decode-bad-chunks.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/streams/decode-bad-chunks.any.js.ini @@ -61,3 +61,6 @@ [decode-bad-chunks] expected: FAIL + +[decode-bad-chunks.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/streams/decode-non-utf8.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/streams/decode-non-utf8.any.js.ini index 752d9a392ad..7daa88c2bc7 100644 --- a/tests/wpt/meta-legacy-layout/encoding/streams/decode-non-utf8.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/streams/decode-non-utf8.any.js.ini @@ -91,3 +91,6 @@ [decode-non-utf8] expected: FAIL + +[decode-non-utf8.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/streams/readable-writable-properties.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/streams/readable-writable-properties.any.js.ini index 9a34cc5f946..5495ee7d7c3 100644 --- a/tests/wpt/meta-legacy-layout/encoding/streams/readable-writable-properties.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/streams/readable-writable-properties.any.js.ini @@ -25,3 +25,6 @@ [readable-writable-properties] expected: FAIL + +[readable-writable-properties.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/textdecoder-arguments.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textdecoder-arguments.any.js.ini new file mode 100644 index 00000000000..a2dc995f4e6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-arguments.any.js.ini @@ -0,0 +1,6 @@ +[textdecoder-arguments.any.worker.html] + +[textdecoder-arguments.any.shadowrealm.html] + expected: ERROR + +[textdecoder-arguments.any.html] diff --git a/tests/wpt/meta-legacy-layout/encoding/textdecoder-byte-order-marks.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textdecoder-byte-order-marks.any.js.ini new file mode 100644 index 00000000000..0496081accc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-byte-order-marks.any.js.ini @@ -0,0 +1,6 @@ +[textdecoder-byte-order-marks.any.worker.html] + +[textdecoder-byte-order-marks.any.shadowrealm.html] + expected: ERROR + +[textdecoder-byte-order-marks.any.html] diff --git a/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal-streaming.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal-streaming.any.js.ini new file mode 100644 index 00000000000..14bd4abe786 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal-streaming.any.js.ini @@ -0,0 +1,6 @@ +[textdecoder-fatal-streaming.any.worker.html] + +[textdecoder-fatal-streaming.any.shadowrealm.html] + expected: ERROR + +[textdecoder-fatal-streaming.any.html] diff --git a/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal.any.js.ini new file mode 100644 index 00000000000..01e6432c575 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal.any.js.ini @@ -0,0 +1,6 @@ +[textdecoder-fatal.any.worker.html] + +[textdecoder-fatal.any.html] + +[textdecoder-fatal.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/textdecoder-ignorebom.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textdecoder-ignorebom.any.js.ini new file mode 100644 index 00000000000..74217d859d5 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-ignorebom.any.js.ini @@ -0,0 +1,6 @@ +[textdecoder-ignorebom.any.html] + +[textdecoder-ignorebom.any.worker.html] + +[textdecoder-ignorebom.any.shadowrealm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/encoding/textdecoder-utf16-surrogates.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textdecoder-utf16-surrogates.any.js.ini new file mode 100644 index 00000000000..5bbf4c938cb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-utf16-surrogates.any.js.ini @@ -0,0 +1,6 @@ +[textdecoder-utf16-surrogates.any.shadowrealm.html] + expected: ERROR + +[textdecoder-utf16-surrogates.any.worker.html] + +[textdecoder-utf16-surrogates.any.html] diff --git a/tests/wpt/meta-legacy-layout/encoding/textencoder-utf16-surrogates.any.js.ini b/tests/wpt/meta-legacy-layout/encoding/textencoder-utf16-surrogates.any.js.ini new file mode 100644 index 00000000000..6624ae34fb6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/encoding/textencoder-utf16-surrogates.any.js.ini @@ -0,0 +1,6 @@ +[textencoder-utf16-surrogates.any.shadowrealm.html] + expected: ERROR + +[textencoder-utf16-surrogates.any.html] + +[textencoder-utf16-surrogates.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/fetch/api/basic/request-private-network-headers.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/basic/request-private-network-headers.tentative.any.js.ini new file mode 100644 index 00000000000..76e46d3d30d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/api/basic/request-private-network-headers.tentative.any.js.ini @@ -0,0 +1,21 @@ +[request-private-network-headers.tentative.any.worker.html] + [Access-Control-Request-Private-Network is a forbidden request header] + expected: FAIL + + [Adding invalid request header "Access-Control-Request-Private-Network: KO"] + expected: FAIL + + +[request-private-network-headers.tentative.any.sharedworker.html] + expected: ERROR + +[request-private-network-headers.tentative.any.html] + [Access-Control-Request-Private-Network is a forbidden request header] + expected: FAIL + + [Adding invalid request header "Access-Control-Request-Private-Network: KO"] + expected: FAIL + + +[request-private-network-headers.tentative.any.serviceworker.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/api/basic/scheme-blob.sub.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/basic/scheme-blob.sub.any.js.ini index dcb842c4c4c..1c9182ad802 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/basic/scheme-blob.sub.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/basic/scheme-blob.sub.any.js.ini @@ -20,6 +20,9 @@ [Blob.slice should not sniff the content for a content type] expected: FAIL + [Fetching URL.createObjectURL(invalid_type_blob) is OK] + expected: FAIL + [scheme-blob.sub.any.worker.html] [Fetching URL.createObjectURL(empty_blob) is OK] @@ -42,3 +45,6 @@ [Blob.slice should not sniff the content for a content type] expected: FAIL + + [Fetching URL.createObjectURL(invalid_type_blob) is OK] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/api/response/response-headers-guard.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/response/response-headers-guard.any.js.ini new file mode 100644 index 00000000000..a5934bf8452 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/api/response/response-headers-guard.any.js.ini @@ -0,0 +1,9 @@ +[response-headers-guard.any.sharedworker.html] + expected: ERROR + +[response-headers-guard.any.html] + +[response-headers-guard.any.worker.html] + +[response-headers-guard.any.serviceworker.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/basic.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/basic.tentative.https.window.js.ini index 4a6e75b55f7..c3859cd2643 100644 --- a/tests/wpt/meta-legacy-layout/fetch/fetch-later/basic.tentative.https.window.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/basic.tentative.https.window.js.ini @@ -4,3 +4,18 @@ [fetchLater()'s return tells the deferred request is not yet sent.] expected: FAIL + + [fetchLater() throws TypeError on non-HTTPS URL.] + expected: FAIL + + [fetchLater() throws RangeError on negative activationTimeout.] + expected: FAIL + + [fetchLater() throws TypeError when mutating its returned state.] + expected: FAIL + + [fetchLater() throws AbortError when its initial abort signal is aborted.] + expected: FAIL + + [fetchLater() does not throw error when it is aborted before sending.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini new file mode 100644 index 00000000000..d520b45dd61 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini @@ -0,0 +1,2 @@ +[quota.tentative.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini new file mode 100644 index 00000000000..a2b0463bd23 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate.tentative.https.window.js.ini @@ -0,0 +1,2 @@ +[send-on-deactivate.tentative.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-discard.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-discard.tentative.https.window.js.ini new file mode 100644 index 00000000000..26a34475368 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-discard.tentative.https.window.js.ini @@ -0,0 +1,2 @@ +[send-on-discard.tentative.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/sendondiscard.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/sendondiscard.tentative.https.window.js.ini deleted file mode 100644 index 33db434fab3..00000000000 --- a/tests/wpt/meta-legacy-layout/fetch/fetch-later/sendondiscard.tentative.https.window.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[sendondiscard.tentative.https.window.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/timeout.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/timeout.tentative.https.window.js.ini new file mode 100644 index 00000000000..2d32eaebde7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/timeout.tentative.https.window.js.ini @@ -0,0 +1,2 @@ +[timeout.tentative.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini index 2fa561150d5..f9de5391ad6 100644 --- a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini @@ -146,12 +146,3 @@ [list-style-image sec-fetch-site - HTTPS downgrade-upgrade] expected: FAIL - - [background-image sec-fetch-site - HTTPS downgrade (header not sent)] - expected: TIMEOUT - - [border-image sec-fetch-site - HTTPS downgrade (header not sent)] - expected: FAIL - - [background-image sec-fetch-dest - Not sent to non-trustworthy same-site destination] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/fetch/orb/tentative/content-range.sub.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/orb/tentative/content-range.sub.any.js.ini index c397469e41d..446864c62b3 100644 --- a/tests/wpt/meta-legacy-layout/fetch/orb/tentative/content-range.sub.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/orb/tentative/content-range.sub.any.js.ini @@ -2,7 +2,13 @@ [ORB should block opaque range of image/png not starting at zero, that isn't subsequent] expected: FAIL + [ORB should block opaque range of image/png not starting at zero, that isn't subsequent: fetch(..., {mode: "no-cors"})] + expected: FAIL + [content-range.sub.any.worker.html] [ORB should block opaque range of image/png not starting at zero, that isn't subsequent] expected: FAIL + + [ORB should block opaque range of image/png not starting at zero, that isn't subsequent: fetch(..., {mode: "no-cors"})] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/orb/tentative/known-mime-type.sub.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/orb/tentative/known-mime-type.sub.any.js.ini index f757e2241ee..b05b6f9e2bd 100644 --- a/tests/wpt/meta-legacy-layout/fetch/orb/tentative/known-mime-type.sub.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/orb/tentative/known-mime-type.sub.any.js.ini @@ -1,4 +1,5 @@ [known-mime-type.sub.any.html] + expected: ERROR [ORB should block opaque font/ttf] expected: FAIL @@ -17,6 +18,111 @@ [ORB should block opaque application/json which contains non ascii characters] expected: FAIL + [ORB should block opaque font/ttf: fetch(..., {mode: "no-cors"})] + expected: FAIL + + [ORB should block opaque font/ttf: diff --git a/tests/wpt/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html b/tests/wpt/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html index 5bc12499074..b00ee7ba56f 100644 --- a/tests/wpt/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html +++ b/tests/wpt/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html @@ -6,17 +6,27 @@

    Heading

    diff --git a/tests/wpt/tests/accessibility/crashtests/computed-accessible-text-node.html b/tests/wpt/tests/accessibility/crashtests/computed-accessible-text-node.html index 29b7c2b2fe2..47183ce6ec6 100644 --- a/tests/wpt/tests/accessibility/crashtests/computed-accessible-text-node.html +++ b/tests/wpt/tests/accessibility/crashtests/computed-accessible-text-node.html @@ -1,14 +1,24 @@ text diff --git a/tests/wpt/tests/accessibility/crashtests/computed-node-checked.html b/tests/wpt/tests/accessibility/crashtests/computed-node-checked.html index a413d26a019..47e715b2338 100644 --- a/tests/wpt/tests/accessibility/crashtests/computed-node-checked.html +++ b/tests/wpt/tests/accessibility/crashtests/computed-node-checked.html @@ -19,6 +19,10 @@ if (window.chrome && chrome.gpuBenchmarking) { diff --git a/tests/wpt/tests/accessibility/crashtests/content-visibility-focusable-scroller-descendant.html b/tests/wpt/tests/accessibility/crashtests/content-visibility-focusable-scroller-descendant.html new file mode 100644 index 00000000000..e9b027b5c7b --- /dev/null +++ b/tests/wpt/tests/accessibility/crashtests/content-visibility-focusable-scroller-descendant.html @@ -0,0 +1,11 @@ + + +
    + +
    +
    + diff --git a/tests/wpt/tests/accessibility/crashtests/display-table-column.html b/tests/wpt/tests/accessibility/crashtests/display-table-column.html new file mode 100644 index 00000000000..6f34f27fa7e --- /dev/null +++ b/tests/wpt/tests/accessibility/crashtests/display-table-column.html @@ -0,0 +1,31 @@ + + + + + + + + + + diff --git a/tests/wpt/tests/accessibility/crashtests/null-node.html b/tests/wpt/tests/accessibility/crashtests/null-node.html new file mode 100644 index 00000000000..dc4a81e6bff --- /dev/null +++ b/tests/wpt/tests/accessibility/crashtests/null-node.html @@ -0,0 +1,10 @@ + + +
    diff --git a/tests/wpt/tests/avif/animated-avif-timeout-ref.html b/tests/wpt/tests/avif/animated-avif-timeout-ref.html index 0eecb377409..52374220c91 100644 --- a/tests/wpt/tests/avif/animated-avif-timeout-ref.html +++ b/tests/wpt/tests/avif/animated-avif-timeout-ref.html @@ -1 +1 @@ - + diff --git a/tests/wpt/tests/avif/animated-avif-timeout.html b/tests/wpt/tests/avif/animated-avif-timeout.html index 13a5722051e..0970c994d34 100644 --- a/tests/wpt/tests/avif/animated-avif-timeout.html +++ b/tests/wpt/tests/avif/animated-avif-timeout.html @@ -1,7 +1,7 @@ Animated AVIF: Second frame displays quickly, replacing red with green. - + @@ -40,6 +40,7 @@ promise_test(t => { "3g", "4g"], 'ect-received is unexpected'); assert_true(r.headers.has("prefers-color-scheme-received"), "prefers-color-scheme-received"); assert_true(r.headers.has("prefers-reduced-motion-received"), "prefers-reduced-motion-received"); + assert_true(r.headers.has("prefers-reduced-transparency-received"), "prefers-reduced-transparency-received"); }); }, "Accept-CH header test"); diff --git a/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-injection.https.html b/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-injection.https.html index b9e4a334fca..79221efe954 100644 --- a/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-injection.https.html +++ b/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-injection.https.html @@ -15,7 +15,7 @@ document.getElementsByTagName('meta')[0].setAttribute("content", "dpr;sec-ch-dpr;device-memory;sec-ch-device-memory;viewport-width;sec-ch-viewport-width;rtt;downlink;ect"); document.head.outerHTML += ''; document.head.innerHTML += ''; -document.write(''); +document.write(''); // resources/echo-client-hints-received.py sets the response headers depending on the set // of client hints it receives in the request headers. @@ -34,6 +34,7 @@ promise_test(t => { assert_false(r.headers.has("downlink-received"), "downlink-received"); assert_false(r.headers.has("ect-received"), "ect-received"); assert_false(r.headers.has("prefers-color-scheme-received"), "prefers-color-scheme-received"); + assert_false(r.headers.has("prefers-reduced-transparency-received"), "prefers-reduced-transparency-received"); }); }, "Delegate-CH meta-equiv injection test"); diff --git a/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-merge.https.html b/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-merge.https.html index d8dbc9f96c4..1039be4dbe4 100644 --- a/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-merge.https.html +++ b/tests/wpt/tests/client-hints/meta-equiv-delegate-ch-merge.https.html @@ -3,7 +3,7 @@ - + @@ -41,6 +41,7 @@ promise_test(t => { "3g", "4g"], 'ect-received is unexpected'); assert_true(r.headers.has("prefers-color-scheme-received"), "prefers-color-scheme-received"); assert_true(r.headers.has("prefers-reduced-motion-received"), "prefers-reduced-motion-received"); + assert_true(r.headers.has("prefers-reduced-transparency-received"), "prefers-reduced-transparency-received"); }); }, "Delegate-CH header test"); diff --git a/tests/wpt/tests/client-hints/resources/clienthintslist.py b/tests/wpt/tests/client-hints/resources/clienthintslist.py index 3d1f7caf468..badf716c024 100644 --- a/tests/wpt/tests/client-hints/resources/clienthintslist.py +++ b/tests/wpt/tests/client-hints/resources/clienthintslist.py @@ -23,6 +23,7 @@ def client_hints_list(): b"sec-ch-viewport-width", b"sec-ch-ua-full-version-list", b"sec-ch-ua-wow64", + b"sec-ch-prefers-reduced-transparency", ] def client_hints_full_list(): diff --git a/tests/wpt/tests/client-hints/resources/echo-client-hints-received.py b/tests/wpt/tests/client-hints/resources/echo-client-hints-received.py index 190cd862892..0aa5bfb25c8 100644 --- a/tests/wpt/tests/client-hints/resources/echo-client-hints-received.py +++ b/tests/wpt/tests/client-hints/resources/echo-client-hints-received.py @@ -34,3 +34,5 @@ def main(request, response): response.headers.set(b"prefers-color-scheme-received", request.headers.get(b"sec-ch-prefers-color-scheme")) if b"sec-ch-prefers-reduced-motion" in request.headers: response.headers.set(b"prefers-reduced-motion-received", request.headers.get(b"sec-ch-prefers-reduced-motion")) + if b"sec-ch-prefers-reduced-transparency" in request.headers: + response.headers.set(b"prefers-reduced-transparency-received", request.headers.get(b"sec-ch-prefers-reduced-transparency")) diff --git a/tests/wpt/tests/client-hints/resources/export.js b/tests/wpt/tests/client-hints/resources/export.js index 57caba1c5f4..e2596e1c6f7 100644 --- a/tests/wpt/tests/client-hints/resources/export.js +++ b/tests/wpt/tests/client-hints/resources/export.js @@ -23,6 +23,7 @@ const client_hints_list = [ "sec-ch-viewport-width", "sec-ch-ua-full-version-list", "sec-ch-ua-wow64", + "sec-ch-prefers-reduced-transparency", ]; const client_hints_full_list = client_hints_list.concat(["width", "sec-ch-width"]) diff --git a/tests/wpt/tests/client-hints/sandbox/__dir__.headers b/tests/wpt/tests/client-hints/sandbox/__dir__.headers index f233c2e9d64..4d4739028d3 100644 --- a/tests/wpt/tests/client-hints/sandbox/__dir__.headers +++ b/tests/wpt/tests/client-hints/sandbox/__dir__.headers @@ -1 +1 @@ -Accept-CH: device-memory, dpr, width, viewport-width, rtt, downlink, ect, sec-ch-ua, sec-ch-ua-arch, sec-ch-ua-platform, sec-ch-ua-model, sec-ch-ua-mobile, sec-ch-ua-full-version, sec-ch-ua-platform-version, sec-ch-prefers-color-scheme, sec-ch-prefers-reduced-motion, sec-ch-ua-bitness, sec-ch-viewport-height, sec-ch-device-memory, sec-ch-dpr, sec-ch-width, sec-ch-viewport-width, sec-ch-ua-full-version-list, sec-ch-ua-wow64 +Accept-CH: device-memory, dpr, width, viewport-width, rtt, downlink, ect, sec-ch-ua, sec-ch-ua-arch, sec-ch-ua-platform, sec-ch-ua-model, sec-ch-ua-mobile, sec-ch-ua-full-version, sec-ch-ua-platform-version, sec-ch-prefers-color-scheme, sec-ch-prefers-reduced-motion, sec-ch-ua-bitness, sec-ch-viewport-height, sec-ch-device-memory, sec-ch-dpr, sec-ch-width, sec-ch-viewport-width, sec-ch-ua-full-version-list, sec-ch-ua-wow64, sec-ch-prefers-reduced-transparency diff --git a/tests/wpt/tests/client-hints/sec-ch-quotes.https.html b/tests/wpt/tests/client-hints/sec-ch-quotes.https.html index 31dc945510d..08f7c51af0f 100644 --- a/tests/wpt/tests/client-hints/sec-ch-quotes.https.html +++ b/tests/wpt/tests/client-hints/sec-ch-quotes.https.html @@ -29,6 +29,7 @@ promise_test(async (test) => { "sec-ch-prefers-reduced-motion", "sec-ch-ua-full-version-list", "sec-ch-ua-wow64", + "sec-ch-prefers-reduced-transparency", ]; const boolean_client_hint_headers = [ "sec-ch-mobile", diff --git a/tests/wpt/tests/client-hints/sec-ch-quotes.https.html.headers b/tests/wpt/tests/client-hints/sec-ch-quotes.https.html.headers index 60ab0f2024c..1d6f8f26fb8 100644 --- a/tests/wpt/tests/client-hints/sec-ch-quotes.https.html.headers +++ b/tests/wpt/tests/client-hints/sec-ch-quotes.https.html.headers @@ -1 +1 @@ -Accept-CH: sec-ch-ua,sec-ch-ua-arch,sec-ch-ua-platform,sec-ch-ua-platform-version,sec-ch-ua-model,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion +Accept-CH: sec-ch-ua,sec-ch-ua-arch,sec-ch-ua-platform,sec-ch-ua-platform-version,sec-ch-ua-model,sec-ch-prefers-color-scheme,sec-ch-prefers-reduced-motion,sec-ch-prefers-reduced-transparency diff --git a/tests/wpt/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html b/tests/wpt/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html index f6313c1b901..0eb97926bc0 100644 --- a/tests/wpt/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html +++ b/tests/wpt/tests/clipboard-apis/async-unsanitized-standard-html-formats-write-read.tentative.https.html @@ -20,7 +20,7 @@ function reformatHtml(html) { const parser = new DOMParser(); const htmlString = parser.parseFromString(html, 'text/html').documentElement.innerHTML; - const reformattedString = htmlString.replace(/\>\s*\ <'); + const reformattedString = htmlString.replace(/\>\s*\ <').replace(//g, ''); return reformattedString; } diff --git a/tests/wpt/tests/common/META.yml b/tests/wpt/tests/common/META.yml index ca4d2e523c0..963dff9d1f1 100644 --- a/tests/wpt/tests/common/META.yml +++ b/tests/wpt/tests/common/META.yml @@ -1,3 +1,2 @@ suggested_reviewers: - - zqzhang - deniak diff --git a/tests/wpt/tests/compression/compression-bad-chunks.tentative.any.js b/tests/wpt/tests/compression/compression-bad-chunks.tentative.any.js index cbd4805a4da..2d0b5684733 100644 --- a/tests/wpt/tests/compression/compression-bad-chunks.tentative.any.js +++ b/tests/wpt/tests/compression/compression-bad-chunks.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/compression-constructor-error.tentative.any.js b/tests/wpt/tests/compression/compression-constructor-error.tentative.any.js index 2d5271c11d3..b39ab93bd02 100644 --- a/tests/wpt/tests/compression/compression-constructor-error.tentative.any.js +++ b/tests/wpt/tests/compression/compression-constructor-error.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/compression-including-empty-chunk.tentative.any.js b/tests/wpt/tests/compression/compression-including-empty-chunk.tentative.any.js index 0948029c4bd..a7fd1ceb24f 100644 --- a/tests/wpt/tests/compression/compression-including-empty-chunk.tentative.any.js +++ b/tests/wpt/tests/compression/compression-including-empty-chunk.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: script=third_party/pako/pako_inflate.min.js // META: timeout=long diff --git a/tests/wpt/tests/compression/compression-large-flush-output.any.js b/tests/wpt/tests/compression/compression-large-flush-output.any.js index c7455807fb2..6afcb4d5287 100644 --- a/tests/wpt/tests/compression/compression-large-flush-output.any.js +++ b/tests/wpt/tests/compression/compression-large-flush-output.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: script=third_party/pako/pako_inflate.min.js // META: script=resources/concatenate-stream.js // META: timeout=long diff --git a/tests/wpt/tests/compression/compression-multiple-chunks.tentative.any.js b/tests/wpt/tests/compression/compression-multiple-chunks.tentative.any.js index f43f13b5411..28a90e5ca53 100644 --- a/tests/wpt/tests/compression/compression-multiple-chunks.tentative.any.js +++ b/tests/wpt/tests/compression/compression-multiple-chunks.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: script=third_party/pako/pako_inflate.min.js // META: timeout=long diff --git a/tests/wpt/tests/compression/compression-output-length.tentative.any.js b/tests/wpt/tests/compression/compression-output-length.tentative.any.js index 07efe92a826..7aa13734500 100644 --- a/tests/wpt/tests/compression/compression-output-length.tentative.any.js +++ b/tests/wpt/tests/compression/compression-output-length.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/compression-stream.tentative.any.js b/tests/wpt/tests/compression/compression-stream.tentative.any.js index 8c02a6d699a..a7ea0cb9084 100644 --- a/tests/wpt/tests/compression/compression-stream.tentative.any.js +++ b/tests/wpt/tests/compression/compression-stream.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: script=third_party/pako/pako_inflate.min.js // META: timeout=long diff --git a/tests/wpt/tests/compression/compression-with-detach.tentative.window.js b/tests/wpt/tests/compression/compression-with-detach.tentative.window.js index 786bba21c80..465feaa47d4 100644 --- a/tests/wpt/tests/compression/compression-with-detach.tentative.window.js +++ b/tests/wpt/tests/compression/compression-with-detach.tentative.window.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: script=resources/concatenate-stream.js 'use strict'; diff --git a/tests/wpt/tests/compression/decompression-bad-chunks.tentative.any.js b/tests/wpt/tests/compression/decompression-bad-chunks.tentative.any.js index 0a1312a5a11..f450b0c4cb2 100644 --- a/tests/wpt/tests/compression/decompression-bad-chunks.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-bad-chunks.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/decompression-buffersource.tentative.any.js b/tests/wpt/tests/compression/decompression-buffersource.tentative.any.js index 5f8638b1351..e81fc566779 100644 --- a/tests/wpt/tests/compression/decompression-buffersource.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-buffersource.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/decompression-constructor-error.tentative.any.js b/tests/wpt/tests/compression/decompression-constructor-error.tentative.any.js index 1bd86ff5b59..0270ba73531 100644 --- a/tests/wpt/tests/compression/decompression-constructor-error.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-constructor-error.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/decompression-correct-input.tentative.any.js b/tests/wpt/tests/compression/decompression-correct-input.tentative.any.js index e5f56c0f0a5..90519445e36 100644 --- a/tests/wpt/tests/compression/decompression-correct-input.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-correct-input.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/decompression-corrupt-input.tentative.any.js b/tests/wpt/tests/compression/decompression-corrupt-input.tentative.any.js index edf6dedaee0..fc18197dfbd 100644 --- a/tests/wpt/tests/compression/decompression-corrupt-input.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-corrupt-input.tentative.any.js @@ -1,4 +1,4 @@ -// META global=window,worker +// META global=window,worker,shadowrealm // This test checks that DecompressionStream behaves according to the standard // when the input is corrupted. To avoid a combinatorial explosion in the diff --git a/tests/wpt/tests/compression/decompression-empty-input.tentative.any.js b/tests/wpt/tests/compression/decompression-empty-input.tentative.any.js index 62759757720..201db8ec0b0 100644 --- a/tests/wpt/tests/compression/decompression-empty-input.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-empty-input.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; @@ -40,4 +40,4 @@ promise_test(async t => { assert_true(done, "read() should set done"); assert_equals(value, undefined, "value should be undefined"); await writePromise; -}, 'decompressing deflate-raw empty input should work'); \ No newline at end of file +}, 'decompressing deflate-raw empty input should work'); diff --git a/tests/wpt/tests/compression/decompression-split-chunk.tentative.any.js b/tests/wpt/tests/compression/decompression-split-chunk.tentative.any.js index 96c26f004c8..eb12c2a2360 100644 --- a/tests/wpt/tests/compression/decompression-split-chunk.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-split-chunk.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm 'use strict'; diff --git a/tests/wpt/tests/compression/decompression-uint8array-output.tentative.any.js b/tests/wpt/tests/compression/decompression-uint8array-output.tentative.any.js index ff0f8d62254..0c45a0aaa72 100644 --- a/tests/wpt/tests/compression/decompression-uint8array-output.tentative.any.js +++ b/tests/wpt/tests/compression/decompression-uint8array-output.tentative.any.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: timeout=long // // This test isn't actually slow usually, but sometimes it takes >10 seconds on diff --git a/tests/wpt/tests/compression/decompression-with-detach.tentative.window.js b/tests/wpt/tests/compression/decompression-with-detach.tentative.window.js index a2f8bda0914..1ff9c269837 100644 --- a/tests/wpt/tests/compression/decompression-with-detach.tentative.window.js +++ b/tests/wpt/tests/compression/decompression-with-detach.tentative.window.js @@ -1,4 +1,4 @@ -// META: global=window,worker +// META: global=window,worker,shadowrealm // META: script=resources/concatenate-stream.js 'use strict'; diff --git a/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-allowed.sub.html b/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-allowed.sub.html new file mode 100644 index 00000000000..5da8890de95 --- /dev/null +++ b/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-allowed.sub.html @@ -0,0 +1,32 @@ + + + + + + + connect-src-syncxmlhttprequest-allowed + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-blocked.sub.html b/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-blocked.sub.html new file mode 100644 index 00000000000..0dfa642e091 --- /dev/null +++ b/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-blocked.sub.html @@ -0,0 +1,38 @@ + + + + + + + connect-src-syncxmlhttprequest-blocked + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-redirect-to-blocked.sub.html b/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-redirect-to-blocked.sub.html new file mode 100644 index 00000000000..00025084266 --- /dev/null +++ b/tests/wpt/tests/content-security-policy/connect-src/connect-src-syncxmlhttprequest-redirect-to-blocked.sub.html @@ -0,0 +1,42 @@ + + + + + + + connect-src-syncxmlhttprequest-redirect-to-blocked + + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html b/tests/wpt/tests/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html index 429e463c531..61f58f00c19 100644 --- a/tests/wpt/tests/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html +++ b/tests/wpt/tests/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html @@ -25,7 +25,6 @@ log("FAIL " + "XMLHttpRequest.open() should not throw an exception."); } xhr.onload = function() { - //cons/**/ole.log(xhr.responseText); if(xhr.responseText == "FAIL") { log("FAIL " + "XMLHttpRequest.send() should fail to follow the disallowed redirect."); } else { diff --git a/tests/wpt/tests/content-security-policy/media-src/media-src-7_2_2.sub.html b/tests/wpt/tests/content-security-policy/media-src/media-src-7_2_2.sub.html index e1626eec5aa..ce6b8add3c8 100644 --- a/tests/wpt/tests/content-security-policy/media-src/media-src-7_2_2.sub.html +++ b/tests/wpt/tests/content-security-policy/media-src/media-src-7_2_2.sub.html @@ -40,16 +40,17 @@ diff --git a/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label-detached-iframe.https.html b/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label-detached-iframe.https.html new file mode 100644 index 00000000000..9573dd2a4a1 --- /dev/null +++ b/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label-detached-iframe.https.html @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label-insecure-context.http.html b/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label-insecure-context.http.html new file mode 100644 index 00000000000..bf415e97fa8 --- /dev/null +++ b/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label-insecure-context.http.html @@ -0,0 +1,8 @@ + + + + diff --git a/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label.https.html b/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label.https.html new file mode 100644 index 00000000000..c1ad72c30bf --- /dev/null +++ b/tests/wpt/tests/cookie-deprecation-label/cookie-deprecation-label.https.html @@ -0,0 +1,9 @@ + + + + diff --git a/tests/wpt/tests/cookies/third-party-cookies/resources/test-helpers.js b/tests/wpt/tests/cookies/third-party-cookies/resources/test-helpers.js new file mode 100644 index 00000000000..2ae2c46a371 --- /dev/null +++ b/tests/wpt/tests/cookies/third-party-cookies/resources/test-helpers.js @@ -0,0 +1,63 @@ +function testHttpCookies({desc, origin, cookieNames, expectsCookie}) { + promise_test(async () => { + await assertOriginCanAccessCookies({origin, cookieNames, expectsCookie}); + }, getCookieTestName(expectsCookie, desc, "HTTP")); +} + +async function assertOriginCanAccessCookies({ + origin, + cookieNames, + expectsCookie, +}) { + const resp = await credFetch(`${origin}/cookies/resources/list.py`); + const cookies = await resp.json(); + for (const cookieName of cookieNames) { + assert_equals( + cookies.hasOwnProperty(cookieName), expectsCookie, + getCookieAssertDesc(expectsCookie, cookieName)); + } +} + +function testDomCookies({desc, cookieNames, expectsCookie}) { + test(() => { + assertDomCanAccessCookie(cookieNames, expectsCookie); + }, getCookieTestName(expectsCookie, desc, "DOM")); +} + +function assertDomCanAccessCookie(cookieNames, expectsCookie) { + for (const cookieName of cookieNames) { + assert_equals( + document.cookie.includes(cookieName + "="), expectsCookie, + getCookieAssertDesc(expectsCookie, cookieName)); + } +} + +function testCookieStoreCookies({desc, cookieNames, expectsCookie}) { + if (!window.cookieStore) return; + promise_test(async () => { + await assertCookieStoreCanAccessCookies(cookieNames, expectsCookie); + }, getCookieTestName(expectsCookie, desc, "CookieStore")); +} + +async function assertCookieStoreCanAccessCookies(cookieNames, expectsCookie) { + const cookies = await cookieStore.getAll({sameSite: 'none'}); + for (const cookieName of cookieNames) { + assert_equals( + !!cookies.find(c => c.name === cookieName), expectsCookie, + getCookieAssertDesc(expectsCookie, cookieName)); + } +} + +function getCookieTestName(expectsCookie, desc, cookieType) { + if (expectsCookie) { + return `${desc}: Cookies are accessible via ${cookieType}`; + } + return `${desc}: Cookies are not accessible via ${cookieType}`; +} + +function getCookieAssertDesc(expectsCookie, cookieName) { + if (expectsCookie) { + return `Expected cookie ${cookieName} to be available`; + } + return `Expected cookie ${cookieName} to not be available`; +} diff --git a/tests/wpt/tests/cookies/third-party-cookies/resources/third-party-cookies-cross-site-embed.html b/tests/wpt/tests/cookies/third-party-cookies/resources/third-party-cookies-cross-site-embed.html new file mode 100644 index 00000000000..2d579c91bed --- /dev/null +++ b/tests/wpt/tests/cookies/third-party-cookies/resources/third-party-cookies-cross-site-embed.html @@ -0,0 +1,57 @@ + + + +Test site embedded in a cross-site context + + + + + + + + diff --git a/tests/wpt/tests/cookies/third-party-cookies/resources/third-party-cookies-cross-site-window.html b/tests/wpt/tests/cookies/third-party-cookies/resources/third-party-cookies-cross-site-window.html new file mode 100644 index 00000000000..99418a67491 --- /dev/null +++ b/tests/wpt/tests/cookies/third-party-cookies/resources/third-party-cookies-cross-site-window.html @@ -0,0 +1,62 @@ + + + +Cross-site window + + + + + + + + diff --git a/tests/wpt/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html b/tests/wpt/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html new file mode 100644 index 00000000000..184649ff5bc --- /dev/null +++ b/tests/wpt/tests/cookies/third-party-cookies/third-party-cookies.tentative.https.html @@ -0,0 +1,72 @@ + + + +Test third-party cookies +Test partitioned cookies + + + + + + + + + diff --git a/tests/wpt/tests/core-aam/aria-haspopup_dialog-manual.html b/tests/wpt/tests/core-aam/aria-haspopup_dialog-manual.html index 659b9bf3767..bf893a1c4bd 100644 --- a/tests/wpt/tests/core-aam/aria-haspopup_dialog-manual.html +++ b/tests/wpt/tests/core-aam/aria-haspopup_dialog-manual.html @@ -42,6 +42,12 @@ "actions", "doesNotContain", "AXPress" + ], + [ + "property", + "AXPopupValue", + "is", + "dialog" ] ], "IAccessible2" : [ diff --git a/tests/wpt/tests/core-aam/aria-haspopup_listbox-manual.html b/tests/wpt/tests/core-aam/aria-haspopup_listbox-manual.html index 0ebc1bbb268..b940195a04c 100644 --- a/tests/wpt/tests/core-aam/aria-haspopup_listbox-manual.html +++ b/tests/wpt/tests/core-aam/aria-haspopup_listbox-manual.html @@ -42,6 +42,12 @@ "actions", "doesNotContain", "AXPress" + ], + [ + "property", + "AXPopupValue", + "is", + "listbox" ] ], "IAccessible2" : [ diff --git a/tests/wpt/tests/core-aam/aria-haspopup_menu-manual.html b/tests/wpt/tests/core-aam/aria-haspopup_menu-manual.html index d9a203a8775..f149aaabcc7 100644 --- a/tests/wpt/tests/core-aam/aria-haspopup_menu-manual.html +++ b/tests/wpt/tests/core-aam/aria-haspopup_menu-manual.html @@ -42,6 +42,12 @@ "actions", "doesNotContain", "AXPress" + ], + [ + "property", + "AXPopupValue", + "is", + "menu" ] ], "IAccessible2" : [ diff --git a/tests/wpt/tests/core-aam/aria-haspopup_tree-manual.html b/tests/wpt/tests/core-aam/aria-haspopup_tree-manual.html index 41de64f47a3..db1608659cd 100644 --- a/tests/wpt/tests/core-aam/aria-haspopup_tree-manual.html +++ b/tests/wpt/tests/core-aam/aria-haspopup_tree-manual.html @@ -42,6 +42,12 @@ "actions", "doesNotContain", "AXPress" + ], + [ + "property", + "AXPopupValue", + "is", + "tree" ] ], "IAccessible2" : [ diff --git a/tests/wpt/tests/core-aam/aria-haspopup_true-manual.html b/tests/wpt/tests/core-aam/aria-haspopup_true-manual.html index b9e046cdd7f..659e77cc984 100644 --- a/tests/wpt/tests/core-aam/aria-haspopup_true-manual.html +++ b/tests/wpt/tests/core-aam/aria-haspopup_true-manual.html @@ -42,6 +42,12 @@ "actions", "doesNotContain", "AXPress" + ], + [ + "property", + "AXPopupValue", + "is", + "menu" ] ], "IAccessible2" : [ diff --git a/tests/wpt/tests/cors/META.yml b/tests/wpt/tests/cors/META.yml index 08dc73704f9..3187818d44d 100644 --- a/tests/wpt/tests/cors/META.yml +++ b/tests/wpt/tests/cors/META.yml @@ -1,6 +1,5 @@ spec: https://fetch.spec.whatwg.org/#http-cors-protocol suggested_reviewers: - - zqzhang - odinho - hillbrad - jdm diff --git a/tests/wpt/tests/credential-management/fedcm-account-auto-selected-flag.https.html b/tests/wpt/tests/credential-management/fedcm-account-auto-selected-flag.https.html new file mode 100644 index 00000000000..ac3515596ae --- /dev/null +++ b/tests/wpt/tests/credential-management/fedcm-account-auto-selected-flag.https.html @@ -0,0 +1,29 @@ + +Federated Credential Management API account auto selected flag tests. + + + + + + + diff --git a/tests/wpt/tests/credential-management/fedcm-basic.https.html b/tests/wpt/tests/credential-management/fedcm-basic.https.html index d5804f796e9..d07c0de9577 100644 --- a/tests/wpt/tests/credential-management/fedcm-basic.https.html +++ b/tests/wpt/tests/credential-management/fedcm-basic.https.html @@ -16,7 +16,7 @@ import {fedcm_test, fedcm_test(async t => { const cred = await fedcm_get_and_select_first_account(t, request_options_with_mediation_required()); assert_equals(cred.token, "token"); - assert_equals(cred.isAutoReauthn, false); + assert_equals(cred.isAccountAutoSelected, false); }, "Successfully obtaining token should resolve the promise."); diff --git a/tests/wpt/tests/credential-management/fedcm-iframe.https.html b/tests/wpt/tests/credential-management/fedcm-iframe.https.html index 964ebf4c44d..dc0c17dea69 100644 --- a/tests/wpt/tests/credential-management/fedcm-iframe.https.html +++ b/tests/wpt/tests/credential-management/fedcm-iframe.https.html @@ -16,13 +16,16 @@ const basePath = window.location.pathname.replace(/\/[^\/]*$/, '/'); const remoteBaseURL = host.HTTPS_REMOTE_ORIGIN + basePath; const localhostBaseURL = "http://localhost:" + host.HTTP_PORT + basePath; -async function createIframeAndWaitForMessage(test, iframeUrl, setPermissionPolicy) { +async function createIframeAndWaitForMessage(test, iframeUrl, setPermissionPolicy, style = "") { const messageWatcher = new EventWatcher(test, window, "message"); var iframe = document.createElement("iframe"); iframe.src = iframeUrl; if (setPermissionPolicy) { iframe.allow = "identity-credentials-get"; } + if (style !== "") { + iframe.style = style; + } document.body.appendChild(iframe); const message = await messageWatcher.wait_for("message"); return message.data; @@ -44,6 +47,14 @@ fedcm_test(async t => { assert_equals(message.token, "token"); }, "FedCM enabled in 2 level deep nested iframe. FedCM should be enabled regardless of iframe nesting depth"); +fedcm_test(async t => { + const message = await createIframeAndWaitForMessage( + t, remoteBaseURL + "support/fedcm-iframe.html", + /*setPermissionPolicy=*/true, /*style=*/"display:none;"); + assert_equals(message.result, "Pass"); + assert_equals(message.token, "token"); +}, "FedCM enabled in invisible iframe. FedCM should be enabled as long as the top frame is visible"); + fedcm_test(async t => { const message = await createIframeAndWaitForMessage( t, remoteBaseURL + "support/fedcm-iframe-level2.html", diff --git a/tests/wpt/tests/credential-management/fedcm-returning-account-auto-reauthn.https.html b/tests/wpt/tests/credential-management/fedcm-returning-account-auto-reauthn.https.html index bec836f25f0..38c07f0a60a 100644 --- a/tests/wpt/tests/credential-management/fedcm-returning-account-auto-reauthn.https.html +++ b/tests/wpt/tests/credential-management/fedcm-returning-account-auto-reauthn.https.html @@ -29,6 +29,6 @@ fedcm_test(async t => { // "Jane" is a new user, the second account "John" will be selected. cred = await navigator.credentials.get(test_options); assert_equals(cred.token, "account_id=john_doe"); - assert_equals(cred.isAutoReauthn, true); + assert_equals(cred.isAccountAutoSelected, true); }, "Test that the returning account from the two accounts will be auto re-authenticated."); diff --git a/tests/wpt/tests/credential-management/support/fedcm/accounts.py b/tests/wpt/tests/credential-management/support/fedcm/accounts.py index dabc2c6f9f9..3989de7f17c 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/accounts.py +++ b/tests/wpt/tests/credential-management/support/fedcm/accounts.py @@ -1,18 +1,10 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + def main(request, response): - if request.cookies.get(b"cookie") != b"1": - return (530, [], "Missing cookie") - if request.headers.get(b"Accept") != b"application/json": - return (531, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (532, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (533, [], "Should not have Referer") - if request.headers.get(b"Origin"): - return (534, [], "Should not have Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (535, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (536, [], "Wrong Sec-Fetch-Site header") + request_error = error_checker.accountsCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") diff --git a/tests/wpt/tests/credential-management/support/fedcm/client_metadata.py b/tests/wpt/tests/credential-management/support/fedcm/client_metadata.py index 61d8aaf2367..72ddcc5cd62 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/client_metadata.py +++ b/tests/wpt/tests/credential-management/support/fedcm/client_metadata.py @@ -1,23 +1,12 @@ # 'import credential-management.support.fedcm.keys' does not work. import importlib keys = importlib.import_module("credential-management.support.fedcm.keys") +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") def main(request, response): - if (request.GET.get(b'skip_checks', b'0') != b'1'): - if len(request.cookies) > 0: - return (530, [], "Cookie should not be sent to this endpoint") - if request.headers.get(b"Accept") != b"application/json": - return (531, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (532, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (533, [], "Should not have Referer") - if not request.headers.get(b"Origin"): - return (534, [], "Missing Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (535, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"cross-site": - return (536, [], "Wrong Sec-Fetch-Site header") + request_error = error_checker.clientMetadataCheck(request) + if (request_error): + return request_error counter = request.server.stash.take(keys.CLIENT_METADATA_COUNTER_KEY) try: diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest-not-in-list.json b/tests/wpt/tests/credential-management/support/fedcm/manifest-not-in-list.json index c66903cfd22..e6f5a1bbf32 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest-not-in-list.json +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest-not-in-list.json @@ -1,5 +1,6 @@ { "accounts_endpoint": "accounts.py", "client_metadata_endpoint": "client_metadata.py", - "id_assertion_endpoint": "token.py" + "id_assertion_endpoint": "token.py", + "login_url": "signin.html" } diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest.py b/tests/wpt/tests/credential-management/support/fedcm/manifest.py index 8a8fff74bc9..f8dced8f561 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest.py +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest.py @@ -1,18 +1,10 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + def main(request, response): - if len(request.cookies) > 0: - return (530, [], "Cookie should not be sent to manifest endpoint") - if request.headers.get(b"Accept") != b"application/json": - return (531, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (532, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (533, [], "Should not have Referer") - if request.headers.get(b"Origin"): - return (534, [], "Should not have Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (535, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"cross-site": - return (536, [], "Wrong Sec-Fetch-Site header") + request_error = error_checker.manifestCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") @@ -21,6 +13,7 @@ def main(request, response): "accounts_endpoint": "accounts.py", "client_metadata_endpoint": "client_metadata.py", "id_assertion_endpoint": "token.py", - "revocation_endpoint": "revoke.py" + "revocation_endpoint": "revoke.py", + "login_url": "signin.html" } """ diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_accounts.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_accounts.json index 590704cfeb1..4a8a5469fa9 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_accounts.json +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_accounts.json @@ -1,5 +1,6 @@ { "accounts_endpoint": "/common/redirect.py?location=/credential-management/support/fedcm/accounts.py", "client_metadata_endpoint": "client_metadata.py", - "id_assertion_endpoint": "token.py" + "id_assertion_endpoint": "token.py", + "login_url": "signin.html" } diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_token.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_token.json index 190420736df..35e75d10c22 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_token.json +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_redirect_token.json @@ -2,5 +2,6 @@ "accounts_endpoint": "accounts.py", "client_metadata_endpoint": "client_metadata.py", "id_assertion_endpoint": "/common/redirect.py?location=/credential-management/support/fedcm/token.py&status=308", - "revocation_endpoint": "revoke.py" + "revocation_endpoint": "revoke.py", + "login_url": "signin.html" } diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_account_auto_selected_flag.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_account_auto_selected_flag.json new file mode 100644 index 00000000000..e3f38b7983f --- /dev/null +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_account_auto_selected_flag.json @@ -0,0 +1,6 @@ +{ + "accounts_endpoint": "two_accounts.py", + "client_metadata_endpoint": "client_metadata.py", + "id_assertion_endpoint": "token_with_account_auto_selected_flag.py", + "login_url": "signin.html" +} diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_no_accounts.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_no_accounts.json index ad3f295ea85..761a38b4377 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_no_accounts.json +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_no_accounts.json @@ -1,5 +1,6 @@ { "accounts_endpoint": "no_accounts.py", "client_metadata_endpoint": "client_metadata.py", - "id_assertion_endpoint": "token_with_account_id.py" + "id_assertion_endpoint": "token_with_account_id.py", + "login_url": "signin.html" } diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_single_account.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_single_account.json index 15a657c679d..72b0d6bcb7e 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_single_account.json +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_single_account.json @@ -1,5 +1,6 @@ { "accounts_endpoint": "single_account.py", "client_metadata_endpoint": "client_metadata.py", - "id_assertion_endpoint": "token_with_account_id.py" + "id_assertion_endpoint": "token_with_account_id.py", + "login_url": "signin.html" } diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_two_accounts.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_two_accounts.json index 932fb85dac3..00ae4cbe62c 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/manifest_with_two_accounts.json +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_with_two_accounts.json @@ -1,5 +1,6 @@ { "accounts_endpoint": "two_accounts.py", "client_metadata_endpoint": "client_metadata.py", - "id_assertion_endpoint": "token_with_account_id.py" + "id_assertion_endpoint": "token_with_account_id.py", + "login_url": "signin.html" } diff --git a/tests/wpt/tests/credential-management/support/fedcm/no_accounts.py b/tests/wpt/tests/credential-management/support/fedcm/no_accounts.py index e3948084df1..8767c50afb4 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/no_accounts.py +++ b/tests/wpt/tests/credential-management/support/fedcm/no_accounts.py @@ -1,18 +1,10 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + def main(request, response): - if request.cookies.get(b"cookie") != b"1": - return (530, [], "Missing cookie") - if request.headers.get(b"Accept") != b"application/json": - return (531, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (532, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (533, [], "Should not have Referer") - if request.headers.get(b"Origin"): - return (534, [], "Should not have Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (535, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (536, [], "Wrong Sec-Fetch-Site header") + request_error = error_checker.accountsCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") diff --git a/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py b/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py new file mode 100644 index 00000000000..b5fdac00bf4 --- /dev/null +++ b/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py @@ -0,0 +1,76 @@ +def commonCheck(request): + if request.headers.get(b"Accept") != b"application/json": + return (531, [], "Wrong Accept") + if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": + return (532, [], "Wrong Sec-Fetch-Dest header") + if request.headers.get(b"Referer"): + return (533, [], "Should not have Referer") + if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": + return (534, [], "Wrong Sec-Fetch-Mode header") + +def commonUncredentialedRequestCheck(request): + if len(request.cookies) > 0: + return (535, [], "Cookie should not be sent to this endpoint") + if request.headers.get(b"Sec-Fetch-Site") != b"cross-site": + return (536, [], "Wrong Sec-Fetch-Site header") + +def commonCredentialedRequestCheck(request): + if request.cookies.get(b"cookie") != b"1": + return (537, [], "Missing cookie") + if request.headers.get(b"Sec-Fetch-Site") != b"none": + return (538, [], "Wrong Sec-Fetch-Site header") + +def manifestCheck(request): + common_error = commonCheck(request) + if (common_error): + return common_error + common_uncredentialed_error = commonUncredentialedRequestCheck(request) + if (common_uncredentialed_error): + return common_uncredentialed_error + + if request.headers.get(b"Origin"): + return (539, [], "Should not have Origin") + +def clientMetadataCheck(request): + if (request.GET.get(b'skip_checks', b'0') != b'1'): + common_error = commonCheck(request) + if (common_error): + return common_error + common_uncredentialed_error = commonUncredentialedRequestCheck(request) + if (common_uncredentialed_error): + return common_uncredentialed_error + + if not request.headers.get(b"Origin"): + return (540, [], "Missing Origin") + +def accountsCheck(request): + common_error = commonCheck(request) + if (common_error): + return common_error + common_credentialed_error = commonCredentialedRequestCheck(request) + if (common_credentialed_error): + return common_credentialed_error + + if request.headers.get(b"Origin"): + return (539, [], "Should not have Origin") + +def tokenCheck(request): + common_error = commonCheck(request) + if (common_error): + return common_error + common_credentialed_error = commonCredentialedRequestCheck(request) + if (common_credentialed_error): + return common_credentialed_error + + if not request.headers.get(b"Origin"): + return (540, [], "Missing Origin") + if request.method != "POST": + return (541, [], "Method is not POST") + if request.headers.get(b"Content-Type") != b"application/x-www-form-urlencoded": + return (542, [], "Wrong Content-Type") + if not request.POST.get(b"client_id"): + return (543, [], "Missing 'client_id' POST parameter") + if not request.POST.get(b"account_id"): + return (544, [], "Missing 'account_id' POST parameter") + if not request.POST.get(b"disclosure_text_shown"): + return (545, [], "Missing 'disclosure_text_shown' POST parameter") diff --git a/tests/wpt/tests/credential-management/support/fedcm/single_account.py b/tests/wpt/tests/credential-management/support/fedcm/single_account.py index 5f05dc4be50..7c8906ae7b9 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/single_account.py +++ b/tests/wpt/tests/credential-management/support/fedcm/single_account.py @@ -1,18 +1,10 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + def main(request, response): - if request.cookies.get(b"cookie") != b"1": - return (530, [], "Missing cookie") - if request.headers.get(b"Accept") != b"application/json": - return (531, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (532, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (533, [], "Should not have Referer") - if request.headers.get(b"Origin"): - return (534, [], "Should not have Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (535, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (536, [], "Wrong Sec-Fetch-Site header") + request_error = error_checker.accountsCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") diff --git a/tests/wpt/tests/credential-management/support/fedcm/token.py b/tests/wpt/tests/credential-management/support/fedcm/token.py index 54150325524..b914eb2d965 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/token.py +++ b/tests/wpt/tests/credential-management/support/fedcm/token.py @@ -1,29 +1,10 @@ -def main(request, response): - if request.cookies.get(b"cookie") != b"1": - return (530, [], "Missing cookie") - if request.method != "POST": - return (531, [], "Method is not POST") - if request.headers.get(b"Content-Type") != b"application/x-www-form-urlencoded": - return (532, [], "Wrong Content-Type") - if request.headers.get(b"Accept") != b"application/json": - return (533, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (500, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (534, [], "Should not have Referer") - if not request.headers.get(b"Origin"): - return (535, [], "Missing Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (539, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (540, [], "Wrong Sec-Fetch-Site header") +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") - if not request.POST.get(b"client_id"): - return (536, [], "Missing 'client_id' POST parameter") - if not request.POST.get(b"account_id"): - return (537, [], "Missing 'account_id' POST parameter") - if not request.POST.get(b"disclosure_text_shown"): - return (538, [], "Missing 'disclosure_text_shown' POST parameter") +def main(request, response): + request_error = error_checker.tokenCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") diff --git a/tests/wpt/tests/credential-management/support/fedcm/token_with_account_auto_selected_flag.py b/tests/wpt/tests/credential-management/support/fedcm/token_with_account_auto_selected_flag.py new file mode 100644 index 00000000000..6de26fe5aab --- /dev/null +++ b/tests/wpt/tests/credential-management/support/fedcm/token_with_account_auto_selected_flag.py @@ -0,0 +1,12 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + +def main(request, response): + request_error = error_checker.tokenCheck(request) + if (request_error): + return request_error + + response.headers.set(b"Content-Type", b"application/json") + + is_account_auto_selected = request.POST.get(b"is_account_auto_selected") + return "{\"token\": \"is_account_auto_selected=" + is_account_auto_selected.decode("utf-8") + "\"}" diff --git a/tests/wpt/tests/credential-management/support/fedcm/token_with_account_id.py b/tests/wpt/tests/credential-management/support/fedcm/token_with_account_id.py index 4b8ae9a5651..52fb20184bc 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/token_with_account_id.py +++ b/tests/wpt/tests/credential-management/support/fedcm/token_with_account_id.py @@ -1,29 +1,10 @@ -def main(request, response): - if request.cookies.get(b"cookie") != b"1": - return (530, [], "Missing cookie") - if request.method != "POST": - return (531, [], "Method is not POST") - if request.headers.get(b"Content-Type") != b"application/x-www-form-urlencoded": - return (532, [], "Wrong Content-Type") - if request.headers.get(b"Accept") != b"application/json": - return (533, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (500, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (534, [], "Should not have Referer") - if not request.headers.get(b"Origin"): - return (535, [], "Missing Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (539, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (540, [], "Wrong Sec-Fetch-Site header") +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") - if not request.POST.get(b"client_id"): - return (536, [], "Missing 'client_id' POST parameter") - if not request.POST.get(b"account_id"): - return (537, [], "Missing 'account_id' POST parameter") - if not request.POST.get(b"disclosure_text_shown"): - return (538, [], "Missing 'disclosure_text_shown' POST parameter") +def main(request, response): + request_error = error_checker.tokenCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") diff --git a/tests/wpt/tests/credential-management/support/fedcm/two_accounts.py b/tests/wpt/tests/credential-management/support/fedcm/two_accounts.py index 75ebf51056c..4ea6d76a7eb 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/two_accounts.py +++ b/tests/wpt/tests/credential-management/support/fedcm/two_accounts.py @@ -1,18 +1,10 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + def main(request, response): - if request.cookies.get(b"cookie") != b"1": - return (530, [], "Missing cookie") - if request.headers.get(b"Accept") != b"application/json": - return (531, [], "Wrong Accept") - if request.headers.get(b"Sec-Fetch-Dest") != b"webidentity": - return (532, [], "Wrong Sec-Fetch-Dest header") - if request.headers.get(b"Referer"): - return (533, [], "Should not have Referer") - if request.headers.get(b"Origin"): - return (534, [], "Should not have Origin") - if request.headers.get(b"Sec-Fetch-Mode") != b"no-cors": - return (535, [], "Wrong Sec-Fetch-Mode header") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (536, [], "Wrong Sec-Fetch-Site header") + request_error = error_checker.accountsCheck(request) + if (request_error): + return request_error response.headers.set(b"Content-Type", b"application/json") diff --git a/tests/wpt/tests/css/compositing/canvas-composite-modes.html b/tests/wpt/tests/css/compositing/canvas-composite-modes.html new file mode 100644 index 00000000000..c1aae52ce6f --- /dev/null +++ b/tests/wpt/tests/css/compositing/canvas-composite-modes.html @@ -0,0 +1,157 @@ + + +Test of <composite-mode> values in canvas globalCompositeOperation + + + + + + + + diff --git a/tests/wpt/tests/css/compositing/compositing_simple_div-ref.html b/tests/wpt/tests/css/compositing/compositing_simple_div-ref.html deleted file mode 100644 index 2f462178120..00000000000 --- a/tests/wpt/tests/css/compositing/compositing_simple_div-ref.html +++ /dev/null @@ -1,20 +0,0 @@ - - -[simple<div>] blending reference - - - - - - - - - - -
    - - diff --git a/tests/wpt/tests/css/compositing/compositing_simple_div.html b/tests/wpt/tests/css/compositing/compositing_simple_div.html deleted file mode 100644 index 44f138b5a6e..00000000000 --- a/tests/wpt/tests/css/compositing/compositing_simple_div.html +++ /dev/null @@ -1,20 +0,0 @@ - - -[simple<div>] blending - - - - - - - - - - -
    - - diff --git a/tests/wpt/tests/css/compositing/mix-blend-mode/mix-blend-mode-root-element-group-ref.html b/tests/wpt/tests/css/compositing/mix-blend-mode/mix-blend-mode-root-element-group-ref.html new file mode 100644 index 00000000000..a661c4663a3 --- /dev/null +++ b/tests/wpt/tests/css/compositing/mix-blend-mode/mix-blend-mode-root-element-group-ref.html @@ -0,0 +1,33 @@ + + + + CSS Reftest Reference + + + + + +
    +
    +
    +
    + + diff --git a/tests/wpt/tests/css/compositing/mix-blend-mode/mix-blend-mode-root-element-group.html b/tests/wpt/tests/css/compositing/mix-blend-mode/mix-blend-mode-root-element-group.html new file mode 100644 index 00000000000..8a190b92817 --- /dev/null +++ b/tests/wpt/tests/css/compositing/mix-blend-mode/mix-blend-mode-root-element-group.html @@ -0,0 +1,30 @@ + + + + CSS Test: mix-blend-mode in the Root Element Group should have a transparent backdrop + + + + + + + +
    +
    + + diff --git a/tests/wpt/tests/css/compositing/root-element-background-image-transparency-001-ref.html b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-001-ref.html new file mode 100644 index 00000000000..b07685d9517 --- /dev/null +++ b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-001-ref.html @@ -0,0 +1,21 @@ + + + + CSS Reftest Reference + + + + + + diff --git a/tests/wpt/tests/css/compositing/root-element-background-image-transparency-001.html b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-001.html new file mode 100644 index 00000000000..1f07d60375e --- /dev/null +++ b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-001.html @@ -0,0 +1,24 @@ + + + + Opacity on Root Element With background image + + + + + + + + + + diff --git a/tests/wpt/tests/css/compositing/root-element-background-image-transparency-002.html b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-002.html new file mode 100644 index 00000000000..0da51986f1c --- /dev/null +++ b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-002.html @@ -0,0 +1,24 @@ + + + + Opacity on Root Element With background image + + + + + + + + + + diff --git a/tests/wpt/tests/css/compositing/root-element-background-image-transparency-003.html b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-003.html new file mode 100644 index 00000000000..0aded929d87 --- /dev/null +++ b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-003.html @@ -0,0 +1,25 @@ + + + + Opacity on Root Element With background image + + + + + + + + + + diff --git a/tests/wpt/tests/css/compositing/root-element-background-image-transparency-004.html b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-004.html new file mode 100644 index 00000000000..1bc4b446149 --- /dev/null +++ b/tests/wpt/tests/css/compositing/root-element-background-image-transparency-004.html @@ -0,0 +1,25 @@ + + + + Opacity on Root Element With background image + + + + + + + + + + diff --git a/tests/wpt/tests/css/compositing/support/transform-triangle-left.svg b/tests/wpt/tests/css/compositing/support/transform-triangle-left.svg new file mode 100644 index 00000000000..e0bf2665687 --- /dev/null +++ b/tests/wpt/tests/css/compositing/support/transform-triangle-left.svg @@ -0,0 +1,4 @@ + + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-001-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-001-ref.html new file mode 100644 index 00000000000..6a454d60d76 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-001-ref.html @@ -0,0 +1,66 @@ + +CSS Box Alignment: non-normal align-content establishes block formatting context root on blocks + + + + +
    FLT
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-001.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-001.html new file mode 100644 index 00000000000..472ecae5765 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-001.html @@ -0,0 +1,65 @@ + +CSS Box Alignment: non-normal align-content establishes block formatting context root on blocks + + + + + + +
    FLT
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    +
    +
    FLT
    BLOCK
    +
    diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-002-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-002-ref.html new file mode 100644 index 00000000000..d7bde74e9eb --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-002-ref.html @@ -0,0 +1,231 @@ + +CSS Box Alignment: align-content on large block container + + + + + + +
    +
    +
    +
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-002.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-002.html new file mode 100644 index 00000000000..bad174d86f7 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-002.html @@ -0,0 +1,229 @@ + +CSS Box Alignment: align-content on large block container + + + + + + + + +

    +
    +
    +
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-003-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-003-ref.html new file mode 100644 index 00000000000..34414804bfa --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-003-ref.html @@ -0,0 +1,230 @@ + +CSS Box Alignment: align-content on small block container + + + + + + +

    +
    +
    +
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-003.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-003.html new file mode 100644 index 00000000000..9356d2a3ff5 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-003.html @@ -0,0 +1,229 @@ + +CSS Box Alignment: align-content on small block container + + + + + + + + +

    +
    +
    +
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-004-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-004-ref.html new file mode 100644 index 00000000000..ba1182b643d --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-004-ref.html @@ -0,0 +1,264 @@ + +CSS Box Alignment: align-content on large block container with floats + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-004.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-004.html new file mode 100644 index 00000000000..38a330909d4 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-004.html @@ -0,0 +1,263 @@ + +CSS Box Alignment: align-content on large block container with floats + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-005-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-005-ref.html new file mode 100644 index 00000000000..c3712610dcd --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-005-ref.html @@ -0,0 +1,261 @@ + +CSS Box Alignment: align-content on small block container with floats + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    +
    FLT
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-005.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-005.html new file mode 100644 index 00000000000..97fe6c97fe9 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-005.html @@ -0,0 +1,264 @@ + +CSS Box Alignment: align-content on small block container with floats + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-006.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-006.html new file mode 100644 index 00000000000..be62e78a706 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-006.html @@ -0,0 +1,282 @@ + + +CSS Box Alignment: align-content container change to large block container with floats + + + + + + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-007.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-007.html new file mode 100644 index 00000000000..61c4c684cd8 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-007.html @@ -0,0 +1,280 @@ + + +CSS Box Alignment: align-content container change to small block container with floats + + + + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-008.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-008.html new file mode 100644 index 00000000000..e9a861c7148 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-008.html @@ -0,0 +1,299 @@ + + +CSS Box Alignment: align-content style change on large block container with floats + + + + + + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-009.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-009.html new file mode 100644 index 00000000000..0b2e8ec9fc4 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-009.html @@ -0,0 +1,297 @@ + + +CSS Box Alignment: align-content style change on small block container with floats + + + + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-010.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-010.html new file mode 100644 index 00000000000..ffb0e9cc4db --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-010.html @@ -0,0 +1,282 @@ + + +CSS Box Alignment: align-content content change in large block container with floats + + + + + + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-011.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-011.html new file mode 100644 index 00000000000..44b8d898729 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-011.html @@ -0,0 +1,280 @@ + + +CSS Box Alignment: align-content content change on small block container with floats + + + + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010-aligned-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010-aligned-ref.html new file mode 100644 index 00000000000..4c92cc9b45f --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010-aligned-ref.html @@ -0,0 +1,186 @@ + +CSS Box Alignment: align-content block fragmentation: simple content + + + + + + + + + +

    +
    + CENTER
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    +
    +
    LINE 5
    LINE 6
    +
    +
    +
    + + + +
    +
    + END
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    +
    +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + BASELINE
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    +
    +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + LAST BASELINE
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    +
    +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + UNSAFE CENTER
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    +
    +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + UNSAFE END
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    +
    +
    LINE 5
    LINE 6
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010-unaligned-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010-unaligned-ref.html new file mode 100644 index 00000000000..458fcf28937 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010-unaligned-ref.html @@ -0,0 +1,130 @@ + +CSS Box Alignment: align-content block fragmentation: simple content + + + + + + + + + +
    +
    + CENTER
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + + +
    +
    + END
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + BASELINE
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + LAST BASELINE
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + UNSAFE CENTER
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + + +
    +
    + UNSAFE END
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010.html new file mode 100644 index 00000000000..27a56a608f4 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-010.html @@ -0,0 +1,133 @@ + +CSS Box Alignment: align-content block fragmentation: simple content + + + + + + + + + + + + + +
    +
    + CENTER
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + + +
    +
    + END
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + BASELINE
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + LAST BASELINE
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + +
    +
    + UNSAFE CENTER
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + + + +
    +
    + UNSAFE END
    LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020-aligned-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020-aligned-ref.html new file mode 100644 index 00000000000..6a0e3871496 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020-aligned-ref.html @@ -0,0 +1,244 @@ + +CSS Box Alignment: align-content block fragmentation: complex block content + + + + + + + + + +
    +
    + CENTER +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    +
    + LINE 4
    LINE 5 +
    +
    +
    +
    + LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + +
    +
    + END +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    +
    + LINE 4
    LINE 5 +
    +
    +
    +
    + LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + +
    +
    + BASELINE +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    +
    + LINE 4
    LINE 5 +
    +
    +
    +
    + LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + +
    +
    + LAST BASELINE +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    +
    + LINE 4
    LINE 5 +
    +
    +
    +
    + LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + +
    +
    + UNSAFE CENTER +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    +
    + LINE 4
    LINE 5 +
    +
    +
    +
    + LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + +
    +
    + UNSAFE END +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    +
    + LINE 4
    LINE 5 +
    +
    +
    +
    + LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020-unaligned-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020-unaligned-ref.html new file mode 100644 index 00000000000..730c8741d70 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020-unaligned-ref.html @@ -0,0 +1,174 @@ + +CSS Box Alignment: align-content block fragmentation: complex block content + + + + + + + + + +
    +
    + CENTER +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + END +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + BASELINE +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + LAST BASELINE +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + UNSAFE CENTER +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + UNSAFE END +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020.html new file mode 100644 index 00000000000..83267301b4c --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-content-020.html @@ -0,0 +1,177 @@ + +CSS Box Alignment: align-content block fragmentation: complex block content + + + + + + + + + + + + + +
    +
    + CENTER +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + END +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + BASELINE +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + LAST BASELINE +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + UNSAFE CENTER +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + + +
    +
    + UNSAFE END +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-010-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-010-ref.html new file mode 100644 index 00000000000..68af3244e53 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-010-ref.html @@ -0,0 +1,162 @@ + +CSS Box Alignment: align-content fragmentation: simple block content + + + + + + + + + +
    +
    + CENTER +
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    LINE 5
    LINE 6
    +
    +
    + + + +
    +
    + END +
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    LINE 5
    LINE 6
    +
    +
    + + +
    +
    + BASELINE +
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    LINE 5
    LINE 6
    +
    +
    + + +
    +
    + LAST BASELINE +
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    LINE 5
    LINE 6
    +
    +
    + + +
    +
    + UNSAFE CENTER +
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    LINE 5
    LINE 6
    +
    +
    + + +
    +
    + UNSAFE END +
    LINE 2
    LINE 3 +
    +
    +
    +
    +
    +
    + LINE 4 +
    +
    +
    LINE 5
    LINE 6
    +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-010.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-010.html new file mode 100644 index 00000000000..cde57ad7a32 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-010.html @@ -0,0 +1,154 @@ + +CSS Box Alignment: align-content fragmentation: simple block content + + + + + + + + + + + + +
    +
    + CENTER +
    + LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    +
    + + + +
    +
    + END +
    + LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    +
    + + +
    +
    + BASELINE +
    + LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    +
    + + +
    +
    + LAST BASELINE +
    + LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    +
    + + +
    +
    + UNSAFE CENTER +
    + LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    +
    + + +
    +
    + UNSAFE END +
    + LINE 2
    LINE 3 +
    +
    +
    + LINE 4 +
    LINE 5
    LINE 6
    +
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-020-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-020-ref.html new file mode 100644 index 00000000000..7b27284cdf4 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-020-ref.html @@ -0,0 +1,215 @@ + +CSS Box Alignment: align-content block fragmentation: complex block content + + + + + + + + + +
    +
    + CENTER +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    + LINE 4
    LINE 5 +
    +
    +
    FLT
    + LINE 6
    LINE 7 +
    +
    + +
    +
    + END +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    + LINE 4
    LINE 5 +
    +
    +
    FLT
    + LINE 6
    LINE 7 +
    +
    + +
    +
    + BASELINE +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    + LINE 4
    LINE 5 +
    +
    +
    FLT
    + LINE 6
    LINE 7 +
    +
    + +
    +
    + LAST BASELINE +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    + LINE 4
    LINE 5 +
    +
    +
    FLT
    + LINE 6
    LINE 7 +
    +
    + +
    +
    + UNSAFE CENTER +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    + LINE 4
    LINE 5 +
    +
    +
    FLT
    + LINE 6
    LINE 7 +
    +
    + +
    +
    + UNSAFE END +
    +
    +
    +
    +
    +
    +
    +
    + LINE 1
    LINE 2 +
    +
    +
    FLT
    + LINE 3 +
    + LINE 4
    LINE 5 +
    +
    +
    FLT
    + LINE 6
    LINE 7 +
    +
    diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-020.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-020.html new file mode 100644 index 00000000000..5f4b3d9555a --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-break-overflow-020.html @@ -0,0 +1,195 @@ + +CSS Box Alignment: align-content block fragmentation: complex block content + + + + + + + + + + + + +
    +
    + CENTER +
    +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    +
    + + +
    +
    + END +
    +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    +
    + + +
    +
    + BASELINE +
    +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    +
    + + +
    +
    + LAST BASELINE +
    +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    +
    + + +
    +
    + UNSAFE CENTER +
    +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    +
    + + +
    +
    + UNSAFE END +
    +
    +
    +
    +
    + LINE 1
    +
    FLT
    + LINE 2
    LINE 3 +
    +
    + LINE 4
    LINE 5
    LINE 6 +
    FLT
    +
    + LINE 7 +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-overflow-000-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-overflow-000-ref.html new file mode 100644 index 00000000000..8ca5407e4ca --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-overflow-000-ref.html @@ -0,0 +1,261 @@ + +CSS Box Alignment: align-content on small block container with floats + + + + + + +
    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    +
    +
    FLT
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-overflow-000.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-overflow-000.html new file mode 100644 index 00000000000..c53606a0589 --- /dev/null +++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-overflow-000.html @@ -0,0 +1,264 @@ + + +CSS Box Alignment: align-content + overflow:hidden on small block container with floats + + + + + + + + +

    +
    +
    FLT
    +
    +
    +
    FLT
    + START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + LAST BASELINE + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + FLEX-END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + UNSAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE START + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE CENTER + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SAFE END + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-EVENLY + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-BETWEEN + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + SPACE-AROUND + ABS + REL +
    OVERFLOW
    +
    +
    +
    +
    +
    +
    FLT
    +
    +
    +
    FLT
    + NORMAL + ABS + REL +
    OVERFLOW
    +
    +
    +
    + +

    + diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-name-004.html b/tests/wpt/tests/css/css-anchor-position/anchor-name-004.html new file mode 100644 index 00000000000..ebe96df7401 --- /dev/null +++ b/tests/wpt/tests/css/css-anchor-position/anchor-name-004.html @@ -0,0 +1,44 @@ + + + + + + + + + + +

    +
    +
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-name-basics.html b/tests/wpt/tests/css/css-anchor-position/anchor-name-basics.html index 1d88b941377..9523ee87725 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-name-basics.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-name-basics.html @@ -14,18 +14,19 @@ + + + + + +
    +
    +
    +
    +
    +
    + + diff --git a/tests/wpt/tests/css/css-anchor-position/at-fallback-position-allowed-declarations.html b/tests/wpt/tests/css/css-anchor-position/at-fallback-position-allowed-declarations.html index 873fa131400..25f6a14577f 100644 --- a/tests/wpt/tests/css/css-anchor-position/at-fallback-position-allowed-declarations.html +++ b/tests/wpt/tests/css/css-anchor-position/at-fallback-position-allowed-declarations.html @@ -45,6 +45,19 @@ test_allowed_declaration('inset-block'); test_allowed_declaration('inset-inline'); test_allowed_declaration('inset'); +// Margin properties are allowed +test_allowed_declaration('margin-top'); +test_allowed_declaration('margin-bottom'); +test_allowed_declaration('margin-left'); +test_allowed_declaration('margin-right'); +test_allowed_declaration('margin-block-start'); +test_allowed_declaration('margin-block-end'); +test_allowed_declaration('margin-inline-start'); +test_allowed_declaration('margin-inline-end'); +test_allowed_declaration('margin-block'); +test_allowed_declaration('margin-inline'); +test_allowed_declaration('margin'); + // Sizing properties are allowed test_allowed_declaration('width'); test_allowed_declaration('height'); @@ -70,13 +83,6 @@ test_allowed_declaration('align-self', 'normal'); // Custom properties are disallowed test_disallowed_declaration('--custom'); -// Margin properties are disallowed -test_disallowed_declaration('margin-left'); -test_disallowed_declaration('margin-right'); -test_disallowed_declaration('margin-top'); -test_disallowed_declaration('margin-bottom'); -test_disallowed_declaration('margin'); - // Test some other disallowed properties test_disallowed_declaration('font-size'); test_disallowed_declaration('border-width'); diff --git a/tests/wpt/tests/css/css-anchor-position/position-fallback-004.html b/tests/wpt/tests/css/css-anchor-position/position-fallback-004.html new file mode 100644 index 00000000000..e4dbd718664 --- /dev/null +++ b/tests/wpt/tests/css/css-anchor-position/position-fallback-004.html @@ -0,0 +1,74 @@ + +Tests margin properties in position fallback + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + diff --git a/tests/wpt/tests/css/css-backgrounds/animations/box-shadow-interpolation.html b/tests/wpt/tests/css/css-backgrounds/animations/box-shadow-interpolation.html index 4ed55abc9e6..f0b7ec083ed 100644 --- a/tests/wpt/tests/css/css-backgrounds/animations/box-shadow-interpolation.html +++ b/tests/wpt/tests/css/css-backgrounds/animations/box-shadow-interpolation.html @@ -194,5 +194,45 @@ test_no_interpolation({ from: '10px 20px yellow, 5px 10px green', to: 'inset 5px 10px green, 15px 20px blue' }); + +// Test CSS color 4 color types +test_interpolation({ + property: 'box-shadow', + from: '10px 10px 10px 10px rgb(0 0 0)', + to: '10px 10px 10px 10px color(srgb 1 1 1)', +}, [ +{at: -0.3, expect: '10px 10px 10px 10px oklab(0 0 0)'}, + {at: 0, expect: '10px 10px 10px 10px oklab(0 0 0)'}, + {at: 0.3, expect: '10px 10px 10px 10px oklab(0.3 0 0)'}, + {at: 0.6, expect: '10px 10px 10px 10px oklab(0.6 0 0)'}, + {at: 1, expect: '10px 10px 10px 10px oklab(1 0 0)'}, + {at: 1.5, expect: '10px 10px 10px 10px oklab(1 0 0)'}, +]); + +test_interpolation({ + property: 'box-shadow', + from: '10px 10px 10px 10px color(srgb 0, 0, 0)', + to: '10px 10px 10px 10px rgb(255 255 255)', +}, [ +{at: -0.3, expect: '10px 10px 10px 10px oklab(0 0 0)'}, + {at: 0, expect: '10px 10px 10px 10px oklab(0 0 0)'}, + {at: 0.3, expect: '10px 10px 10px 10px oklab(0.3 0 0)'}, + {at: 0.6, expect: '10px 10px 10px 10px oklab(0.6 0 0)'}, + {at: 1, expect: '10px 10px 10px 10px oklab(1 0 0)'}, + {at: 1.5, expect: '10px 10px 10px 10px oklab(1 0 0)'}, +]); + +test_interpolation({ + property: 'box-shadow', + from: '10px 10px 10px 10px color(srgb 0, 0, 0)', + to: '10px 10px 10px 10px color(srgb 1 1 1)', +}, [ +{at: -0.3, expect: '10px 10px 10px 10px oklab(0 0 0)'}, + {at: 0, expect: '10px 10px 10px 10px oklab(0 0 0)'}, + {at: 0.3, expect: '10px 10px 10px 10px oklab(0.3 0 0)'}, + {at: 0.6, expect: '10px 10px 10px 10px oklab(0.6 0 0)'}, + {at: 1, expect: '10px 10px 10px 10px oklab(1 0 0)'}, + {at: 1.5, expect: '10px 10px 10px 10px oklab(1 0 0)'}, +]); diff --git a/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-003.html b/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-003.html index c2cb2372bc7..034a5ed98a0 100644 --- a/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-003.html +++ b/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-003.html @@ -8,7 +8,7 @@ Created: June 21st 2023 - Last modified: June 25th 2023 + Last modified: August 23rd 2023 --> @@ -44,6 +44,7 @@ border-image-slice: 64 fill; /* the center will be black */ border-image-source: url("support/4bicolor-squares.png"); display: inline-block; + image-rendering: pixelated; /* attempt to overcome antialias fuzziness */ margin-right: 1em; vertical-align: bottom; } diff --git a/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-stretch-001.html b/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-stretch-001.html index 2a23e789f90..fa681b22ed3 100644 --- a/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-stretch-001.html +++ b/tests/wpt/tests/css/css-backgrounds/border-image-repeat-round-stretch-001.html @@ -8,7 +8,7 @@ Created: June 23rd 2023 - Last modified: June 23rd 2023 + Last modified: August 23rd 2023 --> @@ -53,6 +53,7 @@ border-image-slice: 64 fill; /* the center will be black */ border-image-source: url("support/4bicolor-squares.png"); display: inline-block; + image-rendering: pixelated; /* attempt to overcome antialias fuzziness */ margin-right: 1em; } diff --git a/tests/wpt/tests/css/css-backgrounds/border-image-repeat-stretch-round-001.html b/tests/wpt/tests/css/css-backgrounds/border-image-repeat-stretch-round-001.html index 2ac51fecf23..8c2963a5aec 100644 --- a/tests/wpt/tests/css/css-backgrounds/border-image-repeat-stretch-round-001.html +++ b/tests/wpt/tests/css/css-backgrounds/border-image-repeat-stretch-round-001.html @@ -8,7 +8,7 @@ Created: June 23rd 2023 - Last modified: June 23rd 2023 + Last modified: August 23rd 2023 --> @@ -53,6 +53,7 @@ border-image-slice: 64 fill; /* the center will be black */ border-image-source: url("support/4bicolor-squares.png"); display: inline-block; + image-rendering: pixelated; /* attempt to overcome antialias fuzziness */ margin-right: 1em; } diff --git a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-001-ref.html b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-001-ref.html index 7e64fa9f63b..66951d44b75 100644 --- a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-001-ref.html +++ b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-001-ref.html @@ -4,14 +4,18 @@ .piece { position: absolute; left: 5px; - top: 5px; + top: 0; width: 95px; - height: 95px; + height: 100px; border: solid; } + .start { + top: 5px; + height: 95px; + }
    -
    +
    diff --git a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-002-ref.html b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-002-ref.html index 2c148d8a52c..1453d544c23 100644 --- a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-002-ref.html +++ b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-block-fragmentation-002-ref.html @@ -6,12 +6,15 @@ left: -5px; top: 0; width: 95px; - height: 95px; + height: 100px; border: solid; } + .end { + height: 95px; + }
    -
    +
    diff --git a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-001-ref.html b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-001-ref.html index 171e4935edd..e116d81691c 100644 --- a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-001-ref.html +++ b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-001-ref.html @@ -9,11 +9,11 @@
     pppÉÉÉ  -
    +

     pppÉÉÉ  -
    +
    diff --git a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-002-ref.html b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-002-ref.html index baf297fe2c6..01bbf542125 100644 --- a/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-002-ref.html +++ b/tests/wpt/tests/css/css-backgrounds/box-shadow/slice-inline-fragmentation-002-ref.html @@ -4,12 +4,12 @@
     pppÉÉÉ  -
    +

     pppÉÉÉ  -
    +

    diff --git a/tests/wpt/tests/css/css-break/border-image-000.html b/tests/wpt/tests/css/css-break/border-image-000.html new file mode 100644 index 00000000000..a588830310d --- /dev/null +++ b/tests/wpt/tests/css/css-break/border-image-000.html @@ -0,0 +1,19 @@ + +'box-decoration-break: clone' and 'border-image' + + + + + +

    There should be two green circles below.

    +
    + A A +
    diff --git a/tests/wpt/tests/css/css-break/flexbox/multi-line-column-flex-fragmentation-049.html b/tests/wpt/tests/css/css-break/flexbox/multi-line-column-flex-fragmentation-049.html index 0ede74a118c..ae683e938c2 100644 --- a/tests/wpt/tests/css/css-break/flexbox/multi-line-column-flex-fragmentation-049.html +++ b/tests/wpt/tests/css/css-break/flexbox/multi-line-column-flex-fragmentation-049.html @@ -1,7 +1,7 @@ Tests that a flex-item with an indefinite flex-basis expands if the - container hieght is auto. + container height is auto. diff --git a/tests/wpt/tests/css/css-break/float-in-inline-widows-orphans-crash.html b/tests/wpt/tests/css/css-break/float-in-inline-widows-orphans-crash.html new file mode 100644 index 00000000000..be8645ddfa1 --- /dev/null +++ b/tests/wpt/tests/css/css-break/float-in-inline-widows-orphans-crash.html @@ -0,0 +1,10 @@ + + + +
    +
    +
    +
    +
    + allworkandnoplaymakesjackadullstableboy +
    diff --git a/tests/wpt/tests/css/css-break/inline-with-float-001.html b/tests/wpt/tests/css/css-break/inline-with-float-001.html new file mode 100644 index 00000000000..b6a6e1958ff --- /dev/null +++ b/tests/wpt/tests/css/css-break/inline-with-float-001.html @@ -0,0 +1,22 @@ + + + + +

    Test passes if there is a filled green square and no red.

    + +
    +
    + +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-break/inline-with-float-002.html b/tests/wpt/tests/css/css-break/inline-with-float-002.html new file mode 100644 index 00000000000..d9235b421a1 --- /dev/null +++ b/tests/wpt/tests/css/css-break/inline-with-float-002.html @@ -0,0 +1,22 @@ + + + + +

    Test passes if there is a filled green square and no red.

    + +
    +
    + +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-break/inline-with-float-003.html b/tests/wpt/tests/css/css-break/inline-with-float-003.html new file mode 100644 index 00000000000..377548768a1 --- /dev/null +++ b/tests/wpt/tests/css/css-break/inline-with-float-003.html @@ -0,0 +1,42 @@ + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + + + diff --git a/tests/wpt/tests/css/css-break/inline-with-float-004.html b/tests/wpt/tests/css/css-break/inline-with-float-004.html new file mode 100644 index 00000000000..6b404d95700 --- /dev/null +++ b/tests/wpt/tests/css/css-break/inline-with-float-004.html @@ -0,0 +1,31 @@ + + + + +

    Test passes if there is a filled green square and no red.

    + +
    +
    +
    + +
    +

    +

    +

    +

    +

    +

    +

    +

    +

    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-break/out-of-order-float-in-inline-crash.html b/tests/wpt/tests/css/css-break/out-of-order-float-in-inline-crash.html new file mode 100644 index 00000000000..0a348cf2665 --- /dev/null +++ b/tests/wpt/tests/css/css-break/out-of-order-float-in-inline-crash.html @@ -0,0 +1,10 @@ + + + +
    +
    + +
    + x +
    +
    diff --git a/tests/wpt/tests/css/css-break/reference/border-image-000-ref.html b/tests/wpt/tests/css/css-break/reference/border-image-000-ref.html new file mode 100644 index 00000000000..70af9921ca5 --- /dev/null +++ b/tests/wpt/tests/css/css-break/reference/border-image-000-ref.html @@ -0,0 +1,16 @@ + +'box-decoration-break: clone' and 'border-image' (reference) + + + +

    There should be two green circles below.

    +
    + A + A +
    diff --git a/tests/wpt/tests/css/css-break/soft-break-before-margin-001.html b/tests/wpt/tests/css/css-break/soft-break-before-margin-001.html new file mode 100644 index 00000000000..6907c33586a --- /dev/null +++ b/tests/wpt/tests/css/css-break/soft-break-before-margin-001.html @@ -0,0 +1,16 @@ + + + + +

    Test passes if there is a filled green square and no red.

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-break/table/caption-margin-005.html b/tests/wpt/tests/css/css-break/table/caption-margin-005.html new file mode 100644 index 00000000000..a77e2d83b8c --- /dev/null +++ b/tests/wpt/tests/css/css-break/table/caption-margin-005.html @@ -0,0 +1,16 @@ + + + + +

    Test passes if there is a filled green square and no red.

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-break/widows-orphans-019.html b/tests/wpt/tests/css/css-break/widows-orphans-019.html new file mode 100644 index 00000000000..cf5ff7572c8 --- /dev/null +++ b/tests/wpt/tests/css/css-break/widows-orphans-019.html @@ -0,0 +1,51 @@ + + + + + + +

    Test passes if there is a filled green square and no red.

    +
    +
    +
    +
    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +
    + diff --git a/tests/wpt/tests/css/css-cascade/all-prop-revert-layer.html b/tests/wpt/tests/css/css-cascade/all-prop-revert-layer.html index fa29b5106a7..420a3a61cac 100644 --- a/tests/wpt/tests/css/css-cascade/all-prop-revert-layer.html +++ b/tests/wpt/tests/css/css-cascade/all-prop-revert-layer.html @@ -24,6 +24,7 @@ animation-iteration-count: 123; animation-name: \.; animation-play-state: paused; + animation-range: 10% 20%; animation-timeline: none; animation-timing-function: linear; app-region: drag; @@ -41,6 +42,7 @@ background-repeat: round; background-size: 123px; baseline-shift: 123px; + baseline-source: first; block-size: 123px; border-block-end: 123px dashed #123; border-block-start: 123px dashed #123; @@ -96,6 +98,7 @@ container-name: foo; container-type: size; content: "b"; + content-visibility: auto; counter-increment: add 123; counter-reset: add 123; counter-set: add 123; @@ -133,11 +136,13 @@ font-variant-alternates: historical-forms; font-variant-caps: small-caps; font-variant-east-asian: full-width; + font-variant-emoji: emoji; font-variant-ligatures: none; font-variant-numeric: tabular-nums; font-variant-position: super; font-variation-settings: "smcp" 1; font-weight: 123; + forced-color-adjust: none; glyph-orientation-horizontal: 123deg; glyph-orientation-vertical: 123deg; grid-auto-columns: 123px; @@ -153,6 +158,7 @@ hanging-punctuation: first; height: 123px; hyphenate-character: "e"; + hyphenate-limit-chars: 5; hyphens: auto; image-orientation: none; image-rendering: pixelated; @@ -187,6 +193,7 @@ margin-left: 123px; margin-right: 123px; margin-top: 123px; + margin-trim: block; marker-end: url("#ref"); marker-mid: url("#ref"); marker-start: url("#ref"); @@ -248,6 +255,7 @@ padding-left: 123px; padding-right: 123px; padding-top: 123px; + page: page; paint-order: fill; perspective: 123px; perspective-origin: 123px 123%; @@ -285,6 +293,7 @@ scroll-snap-align: center; scroll-snap-stop: always; scroll-snap-type: both; + scroll-timeline: --foo inline; scrollbar-color: #123 #123; scrollbar-gutter: stable; scrollbar-width: none; @@ -329,13 +338,14 @@ text-transform: lowercase; text-underline-offset: 123px; text-underline-position: under; - text-wrap: nowrap; + timeline-scope: --foo; top: 123px; touch-action: none; transform: scale(-1); transform-box: fill-box; transform-origin: 123px 123px 123px; transform-style: preserve-3d; + transition-behavior: allow-discrete; transition-delay: 123s; transition-duration: 123s; transition-property: add; @@ -345,8 +355,10 @@ user-select: all; vector-effect: non-scaling-stroke; vertical-align: 123px; + view-timeline: --foo inline 10px; + view-transition-name: --foo; visibility: collapse; - white-space-collapse: preserve; + white-space: pre; white-space-trim: discard-inner; widows: 123; width: 123px; diff --git a/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html b/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html new file mode 100644 index 00000000000..754fe56a96f --- /dev/null +++ b/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited-getcomputedstyle.html @@ -0,0 +1,18 @@ + + +color-mix and currentcolor with :visited don't leak information via getComputedStyle + + + + + + + +This background should be green and not red + + diff --git a/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited-ref.html b/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited-ref.html new file mode 100644 index 00000000000..35376a2ccf6 --- /dev/null +++ b/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited-ref.html @@ -0,0 +1,10 @@ + + + +currentcolor is taken from :visited pseudo-class correctly in color-mix() + + +This background should be green and not red + diff --git a/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited.html b/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited.html new file mode 100644 index 00000000000..28db2d6736f --- /dev/null +++ b/tests/wpt/tests/css/css-color/color-mix-currentcolor-visited.html @@ -0,0 +1,14 @@ + + + +currentcolor is taken from :visited pseudo-class correctly in color-mix() + + + +This background should be green and not red diff --git a/tests/wpt/tests/css/css-color/currentcolor-004-ref.html b/tests/wpt/tests/css/css-color/currentcolor-004-ref.html new file mode 100644 index 00000000000..835e4b81e62 --- /dev/null +++ b/tests/wpt/tests/css/css-color/currentcolor-004-ref.html @@ -0,0 +1,10 @@ + + + + diff --git a/tests/wpt/tests/css/css-color/currentcolor-004.html b/tests/wpt/tests/css/css-color/currentcolor-004.html new file mode 100644 index 00000000000..06a429071ab --- /dev/null +++ b/tests/wpt/tests/css/css-color/currentcolor-004.html @@ -0,0 +1,16 @@ + + + +currentcolor and visited inherited parent color + + + + diff --git a/tests/wpt/tests/css/css-color/lch-005-ref.html b/tests/wpt/tests/css/css-color/lch-005-ref.html index 3636541afde..d2164159fe4 100644 --- a/tests/wpt/tests/css/css-color/lch-005-ref.html +++ b/tests/wpt/tests/css/css-color/lch-005-ref.html @@ -2,7 +2,7 @@ CSS Color 4: Specifying Lab and LCH

    Test passes if you see a single square, and not two rectangles of different colors.

    diff --git a/tests/wpt/tests/css/css-color/lch-005.html b/tests/wpt/tests/css/css-color/lch-005.html index ed32cb92cb4..3986ddc11be 100644 --- a/tests/wpt/tests/css/css-color/lch-005.html +++ b/tests/wpt/tests/css/css-color/lch-005.html @@ -7,7 +7,7 @@ diff --git a/tests/wpt/tests/css/css-color/out-of-gamut-legacy-rgb-ref.html b/tests/wpt/tests/css/css-color/out-of-gamut-legacy-rgb-ref.html new file mode 100644 index 00000000000..4b1079569f1 --- /dev/null +++ b/tests/wpt/tests/css/css-color/out-of-gamut-legacy-rgb-ref.html @@ -0,0 +1,16 @@ + + +CSS Test Reference + + +
    + + diff --git a/tests/wpt/tests/css/css-color/out-of-gamut-legacy-rgb.html b/tests/wpt/tests/css/css-color/out-of-gamut-legacy-rgb.html new file mode 100644 index 00000000000..e872dec314c --- /dev/null +++ b/tests/wpt/tests/css/css-color/out-of-gamut-legacy-rgb.html @@ -0,0 +1,22 @@ + + +CSS Color 4: Out Of Gamut Legacy SRGB Color with Transparency + + + + + +
    + diff --git a/tests/wpt/tests/css/css-color/parsing/color-computed-color-mix-function.html b/tests/wpt/tests/css/css-color/parsing/color-computed-color-mix-function.html index c1ca47491ff..a48d6b20bcd 100644 --- a/tests/wpt/tests/css/css-color/parsing/color-computed-color-mix-function.html +++ b/tests/wpt/tests/css/css-color/parsing/color-computed-color-mix-function.html @@ -11,420 +11,410 @@ +
    diff --git a/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html b/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html index f1e0a734970..fd51bc2d2d4 100644 --- a/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html +++ b/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html @@ -10,6 +10,7 @@ + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-displayp3-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-displayp3-01.html new file mode 100644 index 00000000000..d366da215fa --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-displayp3-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in display-p3 RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-hsl-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-hsl-01.html new file mode 100644 index 00000000000..2b5e06322ac --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-hsl-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in hsl RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-hsl-02.html b/tests/wpt/tests/css/css-color/relative-currentcolor-hsl-02.html new file mode 100644 index 00000000000..dba5d493501 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-hsl-02.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in hsl RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-hwb-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-hwb-01.html new file mode 100644 index 00000000000..7c757e1d0f0 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-hwb-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in hwb RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-lab-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-lab-01.html new file mode 100644 index 00000000000..da59cccec12 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-lab-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in lab RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-lch-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-lch-01.html new file mode 100644 index 00000000000..be734812f63 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-lch-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in lch RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-oklab-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-oklab-01.html new file mode 100644 index 00000000000..94d88d384c1 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-oklab-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in oklab RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-oklch-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-oklch-01.html new file mode 100644 index 00000000000..0582817c60b --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-oklch-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in oklch RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-prophoto-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-prophoto-01.html new file mode 100644 index 00000000000..973cd9c756f --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-prophoto-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in prophoto-rgb RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-rec2020-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-rec2020-01.html new file mode 100644 index 00000000000..820d9faf457 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-rec2020-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in rec2020 RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-rec2020-02.html b/tests/wpt/tests/css/css-color/relative-currentcolor-rec2020-02.html new file mode 100644 index 00000000000..a323370012c --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-rec2020-02.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in rec2020 RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-rgb-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-rgb-01.html new file mode 100644 index 00000000000..5ad90529c88 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-rgb-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in rgb RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-rgb-02.html b/tests/wpt/tests/css/css-color/relative-currentcolor-rgb-02.html new file mode 100644 index 00000000000..603938d0dbd --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-rgb-02.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in rgb RCS, permutation + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-xyzd50-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-xyzd50-01.html new file mode 100644 index 00000000000..3caa71c84b5 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-xyzd50-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in xyz-d65 RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-currentcolor-xyzd65-01.html b/tests/wpt/tests/css/css-color/relative-currentcolor-xyzd65-01.html new file mode 100644 index 00000000000..7a857ce0cd8 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-currentcolor-xyzd65-01.html @@ -0,0 +1,22 @@ + + + +currentColor is inherited correctly in xyz-d65 RCS + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-green-ref.html b/tests/wpt/tests/css/css-color/relative-green-ref.html new file mode 100644 index 00000000000..09428a288b2 --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-green-ref.html @@ -0,0 +1,15 @@ + + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-color/relative-rec2020-ref.html b/tests/wpt/tests/css/css-color/relative-rec2020-ref.html new file mode 100644 index 00000000000..c2dbdccd85c --- /dev/null +++ b/tests/wpt/tests/css/css-color/relative-rec2020-ref.html @@ -0,0 +1,16 @@ + + + + +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-contain/contain-style-counters-004.html b/tests/wpt/tests/css/css-contain/contain-style-counters-004.html index 40d68b4641e..56e7e3d87e7 100644 --- a/tests/wpt/tests/css/css-contain/contain-style-counters-004.html +++ b/tests/wpt/tests/css/css-contain/contain-style-counters-004.html @@ -1,71 +1,32 @@ + +CSS Containment Test: 'contain: style' for counters (span descendants of <body>) + + + + + +

    - - - CSS Containment Test: 'contain: style' for counters (span descendants of <body>) - - - - - - - - - - -

    - - - -

    Test passes if there is the number 0. - + +

    Test passes if there is the number 13.

    + diff --git a/tests/wpt/tests/css/css-contain/contain-style-remove-element-crash.html b/tests/wpt/tests/css/css-contain/contain-style-remove-element-crash.html new file mode 100644 index 00000000000..cbf079523ff --- /dev/null +++ b/tests/wpt/tests/css/css-contain/contain-style-remove-element-crash.html @@ -0,0 +1,26 @@ + + +
    +
  • + diff --git a/tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html b/tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html index 9cf797186c5..44074ed2133 100644 --- a/tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html +++ b/tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html @@ -37,15 +37,15 @@ "Tests do not work with overlay scrollbars"); }); + let initialScrollerWidth = scroller.clientWidth; test(() => { - assert_less_than(scroller.clientWidth, 100, "Expects a vertical scrollbar"); assert_equals(getComputedStyle(inner).height, "50px", "Layout with a scrollbar means the container query applies"); }, "Initial layout - expecting a scrollbar without overflowing content instead of overflowing content without a scrollbar"); test(() => { inner.style.borderBottomWidth = "2px"; - assert_less_than(scroller.clientWidth, 100, "Expects a vertical scrollbar"); + assert_equals(scroller.clientWidth, initialScrollerWidth, "Scrollbar visibility is consistent after reflow."); assert_equals(getComputedStyle(inner).height, "50px", "Layout with a scrollbar means the container query applies"); }, "Same result after a reflow"); diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-custom-highlight-crash.html b/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-custom-highlight-crash.html new file mode 100644 index 00000000000..61e5075ed4e --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-custom-highlight-crash.html @@ -0,0 +1,11 @@ + +Empty ::highlight styles inside @container causes crash + + +
    diff --git a/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html b/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html index f72bb69f682..ef74973addc 100644 --- a/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html +++ b/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html @@ -15,6 +15,7 @@ visibility: hidden; } dialog::backdrop { + visibility: visible; display: none; background-color: green; } diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009-ref.html b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009-ref.html new file mode 100644 index 00000000000..fe6fbb140b3 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009-ref.html @@ -0,0 +1,4 @@ + +CSS Test Reference +Selection +Highlight diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009.html b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009.html new file mode 100644 index 00000000000..769a5962ff7 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009.html @@ -0,0 +1,28 @@ + +CSS Container Queries Test: Container for highlight pseudo elements + + + +
    + Selection + Highlight +
    + diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010-ref.html b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010-ref.html new file mode 100644 index 00000000000..a98a4023284 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010-ref.html @@ -0,0 +1,3 @@ + +CSS Test Reference +Highlight diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010.html b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010.html new file mode 100644 index 00000000000..e2e8f8659c5 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010.html @@ -0,0 +1,39 @@ + + +CSS Container Queries Test: Container for highlight pseudo elements + + + + +
    +
    + Highlight +
    +
    + diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-011.html b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-011.html new file mode 100644 index 00000000000..26dabbe1dfe --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-011.html @@ -0,0 +1,26 @@ + +CSS Container Queries Test: ::highlight pseudo element on size container + + + +
    Highlight
    + diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-012.html b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-012.html new file mode 100644 index 00000000000..7c36d9270d9 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-012.html @@ -0,0 +1,35 @@ + + +CSS Container Queries Test: ::highlight pseudo size container change + + + + +
    Highlight
    + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-086.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-086.html new file mode 100644 index 00000000000..51c1586098e --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-086.html @@ -0,0 +1,43 @@ + + + +Content Visibility: innerText + + + + + + + + +
    +This text should be visible. +
    + This text should be visible. +
    This text is also visible.
    +
    +
    +
    +
    + This text should not be visible. +
    + This text is also not visible. +
    +
    +
    + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-087.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-087.html new file mode 100644 index 00000000000..f2faa45774c --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-087.html @@ -0,0 +1,26 @@ + + + +Content visibility: focus does not target nested c-v: hidden/auto subtree" + + + + + + + +
    +
    +
    + focusable thing +
    +
    +
    + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-088.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-088.html new file mode 100644 index 00000000000..1d1b549594c --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-088.html @@ -0,0 +1,46 @@ + + + +Content Visibility: getClientRects measures correctly + + + + + + + + + + +
    + + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-089.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-089.html new file mode 100644 index 00000000000..b7e4d90299b --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-089.html @@ -0,0 +1,48 @@ + + + +Content Visibility: clientLeft/clientTop/clientWidth/clientHeight measure correctly + + + + + + + + + + +
    + + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-090.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-090.html new file mode 100644 index 00000000000..4d90d0611c4 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-090.html @@ -0,0 +1,51 @@ + + + +Content Visibility: scrollLeft/scrollTop/scrollWidth/scrollHeight measure correctly + + + + + + + + + + +
    + + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-091.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-091.html new file mode 100644 index 00000000000..f6799693eba --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-091.html @@ -0,0 +1,24 @@ + + +CSS Content Visibility: getComputedStyle works in hidden c-v subtree + + + + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll-ref.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll-ref.html new file mode 100644 index 00000000000..548970812b6 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll-ref.html @@ -0,0 +1,20 @@ + + +Test that scrolling to a content-visibility: auto subtree restarts animations in it + + + + + +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll.html new file mode 100644 index 00000000000..3c4fd9c4faf --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-and-scroll.html @@ -0,0 +1,61 @@ + + +Test that scrolling to a content-visibility: auto subtree restarts animations in it + + + + + + + + + + +
    +
    + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible-ref.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible-ref.html new file mode 100644 index 00000000000..f927a02ca8c --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible-ref.html @@ -0,0 +1,18 @@ + + +Test that making a content-visibility: hidden subtree visible restarts animations in it + + + + + +
    + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible.html new file mode 100644 index 00000000000..c81aa70bc2b --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-becomes-visible.html @@ -0,0 +1,55 @@ + + +Test that making a content-visibility: hidden subtree visible restarts animations in it + + + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-in-auto-subtree.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-in-auto-subtree.html new file mode 100644 index 00000000000..50f04f94f3f --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-animation-in-auto-subtree.html @@ -0,0 +1,188 @@ + + +Test getComputedStyle on a CSS animation in a content visibility subtree using content-visibility: auto + + + + + + +
    +
    + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-path.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-path.html new file mode 100644 index 00000000000..a91f5817fdd --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-path.html @@ -0,0 +1,101 @@ + + + + + + + + +
    + + + +
    + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-rect.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-rect.html new file mode 100644 index 00000000000..be0abe57674 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-rect.html @@ -0,0 +1,52 @@ + + + + + + + + +
    + + + +
    + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-text.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-text.html new file mode 100644 index 00000000000..7f12a944889 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-svg-text.html @@ -0,0 +1,60 @@ + + + + + + + + +
    + + abc + +
    + + diff --git a/tests/wpt/tests/css/css-contain/content-visibility/crashtests/grid-dynamic.html b/tests/wpt/tests/css/css-contain/content-visibility/crashtests/grid-dynamic.html new file mode 100644 index 00000000000..efc65859611 --- /dev/null +++ b/tests/wpt/tests/css/css-contain/content-visibility/crashtests/grid-dynamic.html @@ -0,0 +1,11 @@ + +
    + text +
    + diff --git a/tests/wpt/tests/css/css-contain/counter-scoping-001.html b/tests/wpt/tests/css/css-contain/counter-scoping-001.html index f7d40dc5a08..ab948e19081 100644 --- a/tests/wpt/tests/css/css-contain/counter-scoping-001.html +++ b/tests/wpt/tests/css/css-contain/counter-scoping-001.html @@ -11,7 +11,7 @@ -

    Test passes if there is the number 0. +

    Test passes if there is the number 13. -

    0
    +
    13
    diff --git a/tests/wpt/tests/css/css-contain/reference/contain-style-counters-005-ref.html b/tests/wpt/tests/css/css-contain/reference/contain-style-counters-005-ref.html index 1ea1ae3f08a..9b2868b62d0 100644 --- a/tests/wpt/tests/css/css-contain/reference/contain-style-counters-005-ref.html +++ b/tests/wpt/tests/css/css-contain/reference/contain-style-counters-005-ref.html @@ -11,12 +11,12 @@
    1
    -
    1
    -
    1
    +
    11
    +
    11
    2
    -
    1
    -
    2
    +
    21
    +
    22
    -
    3
    \ No newline at end of file +
    3
    diff --git a/tests/wpt/tests/css/css-fill-stroke/animation/fill-interpolation.html b/tests/wpt/tests/css/css-fill-stroke/animation/fill-interpolation.html new file mode 100644 index 00000000000..aef91eb79c1 --- /dev/null +++ b/tests/wpt/tests/css/css-fill-stroke/animation/fill-interpolation.html @@ -0,0 +1,130 @@ + + +'fill' interpolation + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-flexbox/flexbox-align-self-baseline-horiz-006-ref.xhtml b/tests/wpt/tests/css/css-flexbox/flexbox-align-self-baseline-horiz-006-ref.xhtml index 248ca88a2f2..9b38d0955b6 100644 --- a/tests/wpt/tests/css/css-flexbox/flexbox-align-self-baseline-horiz-006-ref.xhtml +++ b/tests/wpt/tests/css/css-flexbox/flexbox-align-self-baseline-horiz-006-ref.xhtml @@ -11,16 +11,28 @@ CSS Reftest Reference + + + + + +
    TT
    +
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-fonts/discrete-no-interpolation.html b/tests/wpt/tests/css/css-fonts/discrete-no-interpolation.html index 28760f6a528..327e463accb 100644 --- a/tests/wpt/tests/css/css-fonts/discrete-no-interpolation.html +++ b/tests/wpt/tests/css/css-fonts/discrete-no-interpolation.html @@ -26,12 +26,6 @@ to: 'none' }); - test_no_interpolation({ - property: 'font-palette', - from: 'initial', - to: 'dark' - }); - test_no_interpolation({ property: 'font-feature-settings', from: 'initial', diff --git a/tests/wpt/tests/css/css-fonts/font-palette-36-ref.html b/tests/wpt/tests/css/css-fonts/font-palette-36-ref.html new file mode 100644 index 00000000000..a82be2072ae --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/font-palette-36-ref.html @@ -0,0 +1,22 @@ + + + + + + + +
    A
    +
    A
    +
    A
    + + diff --git a/tests/wpt/tests/css/css-fonts/font-palette-36.html b/tests/wpt/tests/css/css-fonts/font-palette-36.html new file mode 100644 index 00000000000..8a0fd7f6b51 --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/font-palette-36.html @@ -0,0 +1,34 @@ + + + + +font-palette multiple family-name and @font-palette-values + + + + + + + +
    A
    +
    A
    +
    A
    + + diff --git a/tests/wpt/tests/css/css-fonts/palette-mix-computed.html b/tests/wpt/tests/css/css-fonts/palette-mix-computed.html new file mode 100644 index 00000000000..bade68111bd --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/palette-mix-computed.html @@ -0,0 +1,43 @@ + + + + +Serializing of palette-mix() function + + + + + + + +
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-fonts/rcap-in-monospace-ref.html b/tests/wpt/tests/css/css-fonts/rcap-in-monospace-ref.html new file mode 100644 index 00000000000..1dcb4ac010a --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/rcap-in-monospace-ref.html @@ -0,0 +1,22 @@ + + + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    + +
    + Text. +
    +
    diff --git a/tests/wpt/tests/css/css-fonts/rcap-in-monospace.html b/tests/wpt/tests/css/css-fonts/rcap-in-monospace.html new file mode 100644 index 00000000000..def59b074f0 --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/rcap-in-monospace.html @@ -0,0 +1,25 @@ + + + + + + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    +
    + +
    + Text. +
    diff --git a/tests/wpt/tests/css/css-fonts/rch-in-monospace-ref.html b/tests/wpt/tests/css/css-fonts/rch-in-monospace-ref.html new file mode 100644 index 00000000000..1bea172a0eb --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/rch-in-monospace-ref.html @@ -0,0 +1,10 @@ + +

    The following two lines should look exactly the same.

    + +
    + Text. +
    + +
    + Text. +
    diff --git a/tests/wpt/tests/css/css-fonts/rch-in-monospace.html b/tests/wpt/tests/css/css-fonts/rch-in-monospace.html new file mode 100644 index 00000000000..86ad1d87326 --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/rch-in-monospace.html @@ -0,0 +1,16 @@ + + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    +
    + +
    + Text. +
    diff --git a/tests/wpt/tests/css/css-fonts/rex-in-monospace-ref.html b/tests/wpt/tests/css/css-fonts/rex-in-monospace-ref.html new file mode 100644 index 00000000000..27972869e6c --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/rex-in-monospace-ref.html @@ -0,0 +1,24 @@ + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    + +
    + Text. +
    +
    diff --git a/tests/wpt/tests/css/css-fonts/rex-in-monospace.html b/tests/wpt/tests/css/css-fonts/rex-in-monospace.html new file mode 100644 index 00000000000..89fc9ff9cca --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/rex-in-monospace.html @@ -0,0 +1,27 @@ + + + + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    +
    + +
    + Text. +
    diff --git a/tests/wpt/tests/css/css-fonts/ric-in-monospace-ref.html b/tests/wpt/tests/css/css-fonts/ric-in-monospace-ref.html new file mode 100644 index 00000000000..4871e3baeaf --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/ric-in-monospace-ref.html @@ -0,0 +1,23 @@ + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    + +
    + Text. +
    +
    diff --git a/tests/wpt/tests/css/css-fonts/ric-in-monospace.html b/tests/wpt/tests/css/css-fonts/ric-in-monospace.html new file mode 100644 index 00000000000..1ad6dac924c --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/ric-in-monospace.html @@ -0,0 +1,26 @@ + + + + + + + +

    The following two lines should look exactly the same.

    + +
    +
    + Text. +
    +
    + +
    + Text. +
    diff --git a/tests/wpt/tests/css/css-fonts/size-adjust-unicode-range-system-fallback-ref.html b/tests/wpt/tests/css/css-fonts/size-adjust-unicode-range-system-fallback-ref.html new file mode 100644 index 00000000000..46586c6f538 --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/size-adjust-unicode-range-system-fallback-ref.html @@ -0,0 +1,21 @@ + + + +Tests that the size-adjust descriptor does not affect system fallback font size. + + diff --git a/tests/wpt/tests/css/css-fonts/size-adjust-unicode-range-system-fallback.html b/tests/wpt/tests/css/css-fonts/size-adjust-unicode-range-system-fallback.html new file mode 100644 index 00000000000..9e1a65d0fe7 --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/size-adjust-unicode-range-system-fallback.html @@ -0,0 +1,20 @@ + + + + + + +Tests that the size-adjust descriptor does not affect system fallback font size. + + diff --git a/tests/wpt/tests/css/css-grid/grid-model/grid-first-letter-003.html b/tests/wpt/tests/css/css-grid/grid-model/grid-first-letter-003.html index 9d9a0c7589d..12b88c3115b 100644 --- a/tests/wpt/tests/css/css-grid/grid-model/grid-first-letter-003.html +++ b/tests/wpt/tests/css/css-grid/grid-model/grid-first-letter-003.html @@ -16,10 +16,8 @@ }
    -
    -

    - The first letter of this paragraph, and only that one, should be green. - In addition, body and paragraph margins should not collapse. -

    -
    +

    + The first letter of this paragraph, and only that one, should be green. + In addition, body and paragraph margins should not collapse. +

    diff --git a/tests/wpt/tests/css/css-grid/grid-model/grid-first-line-003.html b/tests/wpt/tests/css/css-grid/grid-model/grid-first-line-003.html index ede9901e8c9..47f727de150 100644 --- a/tests/wpt/tests/css/css-grid/grid-model/grid-first-line-003.html +++ b/tests/wpt/tests/css/css-grid/grid-model/grid-first-line-003.html @@ -17,7 +17,7 @@ }
    -
    -

    This text should be green and body and paragraph margins should not collapse.

    -
    +

    + This text should be green and body and paragraph margins should not collapse. +

    diff --git a/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-letter-003.html b/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-letter-003.html index e3efd51007a..eea15ab585c 100644 --- a/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-letter-003.html +++ b/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-letter-003.html @@ -16,10 +16,8 @@ }
    -
    -

    - The first letter of this paragraph, and only that one, should be green. - In addition, body and paragraph margins should not collapse. -

    -
    +

    + The first letter of this paragraph, and only that one, should be green. + In addition, body and paragraph margins should not collapse. +

    diff --git a/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-line-003.html b/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-line-003.html index 2b9c3ca0f63..c76a7f430f9 100644 --- a/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-line-003.html +++ b/tests/wpt/tests/css/css-grid/grid-model/grid-inline-first-line-003.html @@ -17,7 +17,7 @@ }
    -
    -

    This text should be green and body and paragraph margins should not collapse.

    -
    +

    + This text should be green and body and paragraph margins should not collapse. +

    diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-column-invalid.html b/tests/wpt/tests/css/css-grid/parsing/grid-column-invalid.html new file mode 100644 index 00000000000..d1f4dce1723 --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-column-invalid.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-column-shortest-serialization.html b/tests/wpt/tests/css/css-grid/parsing/grid-column-shortest-serialization.html new file mode 100644 index 00000000000..868de54c35c --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-column-shortest-serialization.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-column-shorthand.html b/tests/wpt/tests/css/css-grid/parsing/grid-column-shorthand.html new file mode 100644 index 00000000000..b60db55dc3e --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-column-shorthand.html @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-row-invalid.html b/tests/wpt/tests/css/css-grid/parsing/grid-row-invalid.html new file mode 100644 index 00000000000..ca7b1d681a9 --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-row-invalid.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-row-shortest-serialization.html b/tests/wpt/tests/css/css-grid/parsing/grid-row-shortest-serialization.html new file mode 100644 index 00000000000..59558c0ac35 --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-row-shortest-serialization.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-row-shorthand.html b/tests/wpt/tests/css/css-grid/parsing/grid-row-shorthand.html new file mode 100644 index 00000000000..505fdb97759 --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-row-shorthand.html @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html b/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html index 20ba330c03e..7751fd883b2 100644 --- a/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html +++ b/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html @@ -78,11 +78,13 @@ test_shorthand_roundtrip('grid: auto-flow 1px / 2px; grid-auto-flow: inherit', { 'grid': '' }); test_shorthand_roundtrip('grid: 1px / 2px; grid-auto-flow: row', { 'grid': '1px / 2px' }); + test_shorthand_roundtrip('grid: none / 2px; grid-auto-flow: row', { 'grid': 'none / 2px' }); test_shorthand_roundtrip('grid: 1px / 2px; grid-auto-columns: auto', { 'grid': '1px / 2px' }); test_shorthand_roundtrip('grid: 1px / 2px; grid-auto-rows: auto', { 'grid': '1px / 2px' }); test_shorthand_roundtrip('grid: 1px / auto-flow 2px; grid-auto-rows: auto', { 'grid': '1px / auto-flow 2px' }); test_shorthand_roundtrip('grid: 1px / auto-flow; grid-auto-columns: auto', { 'grid': '1px / auto-flow' }); test_shorthand_roundtrip('grid: auto-flow 1px / 2px; grid-auto-columns: auto', { 'grid': 'auto-flow 1px / 2px' }); + test_shorthand_roundtrip('grid: auto-flow 1px / none; grid-auto-columns: auto', { 'grid': 'auto-flow 1px / none' }); test_shorthand_roundtrip('grid: auto-flow dense / 2px; grid-auto-rows: auto', { 'grid': 'auto-flow dense / 2px' }); test_shorthand_roundtrip('grid: auto-flow 1px / 2px; grid-auto-columns: 3px', diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-template-node-not-connected.html b/tests/wpt/tests/css/css-grid/parsing/grid-template-node-not-connected.html new file mode 100644 index 00000000000..89bee03a11b --- /dev/null +++ b/tests/wpt/tests/css/css-grid/parsing/grid-template-node-not-connected.html @@ -0,0 +1,25 @@ + + + + + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-template-shorthand-valid.html b/tests/wpt/tests/css/css-grid/parsing/grid-template-shorthand-valid.html index d5ae75e74e5..f26ef330671 100644 --- a/tests/wpt/tests/css/css-grid/parsing/grid-template-shorthand-valid.html +++ b/tests/wpt/tests/css/css-grid/parsing/grid-template-shorthand-valid.html @@ -41,6 +41,7 @@ test_valid_value("grid-template", '"a" [a] [b] "b"', '"a" [a b] "b"'); test_valid_value("grid-template", '"a" [a] "b"'); test_valid_value("grid-template", '"a" / 0', '"a" / 0px'); test_valid_value("grid-template", '"a" 10px / 10px'); +test_valid_value("grid-template", '"a" calc(100% - 10px) / calc(10px)'); test_valid_value("grid-template", '"a" [a] "b" 10px'); test_valid_value("grid-template", '"a" [a] "b" 10px [a]'); test_valid_value("grid-template", '"a" [a] [a] "b" 10px', '"a" [a a] "b" 10px'); @@ -51,7 +52,7 @@ test_valid_value("grid-template", '[a] "a" [a] "b" [a]'); test_valid_value("grid-template", '"a" "a" [a] "b" [a]'); test_valid_value("grid-template", '"a" [a] "b" [a] / 0', '"a" [a] "b" [a] / 0px'); test_valid_value("grid-template", '"a" "a" [a] [a] "b" / auto', '"a" "a" [a a] "b" / auto'); -test_valid_value("grid-template", '"a" auto [a] "b" auto [b] / 10px'); +test_valid_value("grid-template", '"a" auto [a] "b" auto [b] / 10px', '"a" [a] "b" [b] / 10px'); // FIXME: add more values to test full syntax diff --git a/tests/wpt/tests/css/css-grid/subgrid/standalone-axis-size-001.html b/tests/wpt/tests/css/css-grid/subgrid/standalone-axis-size-001.html new file mode 100644 index 00000000000..aaa71ddbef2 --- /dev/null +++ b/tests/wpt/tests/css/css-grid/subgrid/standalone-axis-size-001.html @@ -0,0 +1,28 @@ + + +CSS Grid Test: Subgrid specified size on standalone axis + + + + +

    Test passes if there is a filled green square and no red.

    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-highlight-api/highlight-pseudo-from-font-computed.html b/tests/wpt/tests/css/css-highlight-api/highlight-pseudo-from-font-computed.html new file mode 100644 index 00000000000..7c436d95d12 --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/highlight-pseudo-from-font-computed.html @@ -0,0 +1,59 @@ + + +CSS ::highlight Pseudo-Element Test: ::highlight selector getComputedStyle + + + + + +
    A green 10px offset underline 4px thick
    +
    A blue 20px offset underline 2px thick
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-001-ref.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-001-ref.html new file mode 100644 index 00000000000..76b7317caab --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-001-ref.html @@ -0,0 +1,22 @@ + + +CSS Highlight API Test: + + + + +
    Font relative units with 40px font
    +
    Font relative units with 20px font
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-001.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-001.html new file mode 100644 index 00000000000..755409c6b18 --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-001.html @@ -0,0 +1,42 @@ + + +CSS Highlight API Test: + + + + + + + + + +
    Font relative units with 40px font
    +
    Font relative units with 20px font
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-002-ref.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-002-ref.html new file mode 100644 index 00000000000..13b38d8bbf8 --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-002-ref.html @@ -0,0 +1,27 @@ + + +CSS Highlight API Test: + + + + +
    A green 10px offset underline 4px thick
    +
    A blue 20px offset underline 2px thick
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-002.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-002.html new file mode 100644 index 00000000000..48ca92feef0 --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-002.html @@ -0,0 +1,45 @@ + + +CSS Highlight API Test: + + + + + + + + + +
    A green 10px offset underline 4px thick
    +
    A blue 20px offset underline 2px thick
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-003-ref.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-003-ref.html new file mode 100644 index 00000000000..c1a04b0803a --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-003-ref.html @@ -0,0 +1,18 @@ + + +CSS Highlight API Test: + + + + +
    A green 10px offset underline 4px thick and green overline 4px thick
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-003.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-003.html new file mode 100644 index 00000000000..d1035ed130e --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-003.html @@ -0,0 +1,42 @@ + + +CSS Highlight API Test: + + + + + + + + + +
    A green 10px offset underline 4px thick and green overline 4px thick
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-004-ref.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-004-ref.html new file mode 100644 index 00000000000..c1a04b0803a --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-004-ref.html @@ -0,0 +1,18 @@ + + +CSS Highlight API Test: + + + + +
    A green 10px offset underline 4px thick and green overline 4px thick
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-004.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-004.html new file mode 100644 index 00000000000..fec70e97d31 --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-004.html @@ -0,0 +1,38 @@ + + +CSS Highlight API Test: + + + + + + + + + +
    A green 10px offset underline 4px thick and green overline 4px thick
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-005-ref.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-005-ref.html new file mode 100644 index 00000000000..bbfc952116f --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-005-ref.html @@ -0,0 +1,19 @@ + + +CSS Highlight API Test: + + + + +
    Font relative units with 20px font
    +
    Font relative units with 20px font
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-005.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-005.html new file mode 100644 index 00000000000..5b2eb657730 --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-font-metrics-005.html @@ -0,0 +1,49 @@ + + + +CSS Highlight API Test: + + + + + + + + + + +
    Font relative units with 20px font
    +
    Font relative units with 20px font
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation-ref.html b/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation-ref.html index e1503d3f122..89a1929e275 100644 --- a/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation-ref.html +++ b/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation-ref.html @@ -1,47 +1,41 @@ - -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation.html b/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation.html index a3905b07cee..06d7be6e66b 100644 --- a/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation.html +++ b/tests/wpt/tests/css/css-images/gradient/gradient-none-interpolation.html @@ -4,49 +4,43 @@ Gradient interpolation - + + -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-images/normalization-radial-3.html b/tests/wpt/tests/css/css-images/normalization-radial-3.html new file mode 100644 index 00000000000..927917ced60 --- /dev/null +++ b/tests/wpt/tests/css/css-images/normalization-radial-3.html @@ -0,0 +1,14 @@ + + +Radial gradient stop normalization + + + + +
    diff --git a/tests/wpt/tests/css/css-images/normalization-radial-4.html b/tests/wpt/tests/css/css-images/normalization-radial-4.html new file mode 100644 index 00000000000..e9d948f062e --- /dev/null +++ b/tests/wpt/tests/css/css-images/normalization-radial-4.html @@ -0,0 +1,14 @@ + + +Radial gradient stop normalization + + + + +
    diff --git a/tests/wpt/tests/css/css-lists/counter-001-ref.html b/tests/wpt/tests/css/css-lists/counter-001-ref.html new file mode 100644 index 00000000000..2dd80aa3a47 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-001-ref.html @@ -0,0 +1,37 @@ + +CSS Lists and Counters test reference: counter(c, ".", decimal-leading-zero) +

    The following two lines should look the same:

    +
    + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 99 + 13 + 14 +
    +
    + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 99 + 13 + 14 +
    diff --git a/tests/wpt/tests/css/css-lists/counter-001.html b/tests/wpt/tests/css/css-lists/counter-001.html new file mode 100644 index 00000000000..46d7eb81df0 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-001.html @@ -0,0 +1,45 @@ + +CSS Lists and Counters: counter(c, ".", decimal-leading-zero) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + +
    +
    + 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 99 + 13 + 14 +
    diff --git a/tests/wpt/tests/css/css-lists/counter-002-ref.html b/tests/wpt/tests/css/css-lists/counter-002-ref.html new file mode 100644 index 00000000000..621e42e26ea --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-002-ref.html @@ -0,0 +1,45 @@ + +CSS Lists and Counters test reference: counter(c, ".", lower-roman) +

    The following two lines should look the same:

    +
    + i + ii + iii + iv + v + vi + vii + viii + ix + x + xi + xii + xlix + xiii + ccclxxxix + xiv + mmmcdlxxxix + xv + xvi +
    +
    + i + ii + iii + iv + v + vi + vii + viii + ix + x + xi + xii + xlix + xiii + ccclxxxix + xiv + mmmcdlxxxix + xv + xvi +
    diff --git a/tests/wpt/tests/css/css-lists/counter-002.html b/tests/wpt/tests/css/css-lists/counter-002.html new file mode 100644 index 00000000000..5994802c452 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-002.html @@ -0,0 +1,53 @@ + +CSS Lists and Counters: counter(c, ".", lower-roman) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + i + ii + iii + iv + v + vi + vii + viii + ix + x + xi + xii + xlix + xiii + ccclxxxix + xiv + mmmcdlxxxix + xv + xvi +
    diff --git a/tests/wpt/tests/css/css-lists/counter-003-ref.html b/tests/wpt/tests/css/css-lists/counter-003-ref.html new file mode 100644 index 00000000000..39d0bb3d143 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-003-ref.html @@ -0,0 +1,45 @@ + +CSS Lists and Counters test reference: counter(c, ".", upper-roman) +

    The following two lines should look the same:

    +
    + I + II + III + IV + V + VI + VII + VIII + IX + X + XI + XII + XLIX + XIII + CCCLXXXIX + XIV + MMMCDLXXXIX + XV + XVI +
    +
    + I + II + III + IV + V + VI + VII + VIII + IX + X + XI + XII + XLIX + XIII + CCCLXXXIX + XIV + MMMCDLXXXIX + XV + XVI +
    diff --git a/tests/wpt/tests/css/css-lists/counter-003.html b/tests/wpt/tests/css/css-lists/counter-003.html new file mode 100644 index 00000000000..60164c1c7eb --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-003.html @@ -0,0 +1,53 @@ + +CSS Lists and Counters: counter(c, ".", upper-roman) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + I + II + III + IV + V + VI + VII + VIII + IX + X + XI + XII + XLIX + XIII + CCCLXXXIX + XIV + MMMCDLXXXIX + XV + XVI +
    diff --git a/tests/wpt/tests/css/css-lists/counter-004-ref.html b/tests/wpt/tests/css/css-lists/counter-004-ref.html new file mode 100644 index 00000000000..a0e65d480c9 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-004-ref.html @@ -0,0 +1,89 @@ + + +CSS Lists and Counters test reference: counter(c, ".", georgian) +

    The following two lines should look the same:

    +
    + + + + + + + + + + + ია + იბ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ჵჰშჟთ +
    + +
    + + + + + + + + + + + ია + იბ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ჵჰშჟთ +
    diff --git a/tests/wpt/tests/css/css-lists/counter-004.html b/tests/wpt/tests/css/css-lists/counter-004.html new file mode 100644 index 00000000000..4ef2ced3ae9 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-004.html @@ -0,0 +1,96 @@ + + +CSS Lists and Counters: counter(c, ".", georgian) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + ია + იბ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ჵჰშჟთ +
    diff --git a/tests/wpt/tests/css/css-lists/counter-reset-increment-overflow-underflow-ref.html b/tests/wpt/tests/css/css-lists/counter-reset-increment-overflow-underflow-ref.html new file mode 100644 index 00000000000..cb86d5713a1 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-reset-increment-overflow-underflow-ref.html @@ -0,0 +1,13 @@ + + + +
    +

    2050000000

    +

    2100000000

    +

    2100000000

    +
    +
    +

    -2050000000

    +

    -2100000000

    +

    -2100000000

    +
    diff --git a/tests/wpt/tests/css/css-lists/counter-reset-increment-overflow-underflow.html b/tests/wpt/tests/css/css-lists/counter-reset-increment-overflow-underflow.html new file mode 100644 index 00000000000..6dc16e25ee7 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counter-reset-increment-overflow-underflow.html @@ -0,0 +1,35 @@ + + + + + +
    +

    +

    +

    +
    +
    +

    +

    +

    +
    diff --git a/tests/wpt/tests/css/css-lists/counters-001-ref.html b/tests/wpt/tests/css/css-lists/counters-001-ref.html new file mode 100644 index 00000000000..7084485013b --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-001-ref.html @@ -0,0 +1,37 @@ + +CSS Lists and Counters test reference: counters(c, ".", decimal-leading-zero) +

    The following two lines should look the same:

    +
    + 01.01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 12.99 + 13 + 14 +
    +
    + 01.01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 12.99 + 13 + 14 +
    diff --git a/tests/wpt/tests/css/css-lists/counters-001.html b/tests/wpt/tests/css/css-lists/counters-001.html new file mode 100644 index 00000000000..a6d85fe4d5b --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-001.html @@ -0,0 +1,46 @@ + +CSS Lists and Counters: counters(c, ".", decimal-leading-zero) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + +
    +
    + 01.01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 12.99 + 13 + 14 +
    + diff --git a/tests/wpt/tests/css/css-lists/counters-002-ref.html b/tests/wpt/tests/css/css-lists/counters-002-ref.html new file mode 100644 index 00000000000..25b542f3e5a --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-002-ref.html @@ -0,0 +1,45 @@ + +CSS Lists and Counters test reference: counters(c, ".", lower-roman) +

    The following two lines should look the same:

    +
    + i.i + ii + iii + iv + v + vi + vii + viii + ix + x + xi + xii + xii.xlix + xiii + xiii.ccclxxxix + xiv + xiv.mmmcdlxxxix + xv + xvi +
    +
    + i.i + ii + iii + iv + v + vi + vii + viii + ix + x + xi + xii + xii.xlix + xiii + xiii.ccclxxxix + xiv + xiv.mmmcdlxxxix + xv + xvi +
    diff --git a/tests/wpt/tests/css/css-lists/counters-002.html b/tests/wpt/tests/css/css-lists/counters-002.html new file mode 100644 index 00000000000..9b3618d3bfe --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-002.html @@ -0,0 +1,52 @@ + +CSS Lists and Counters: counters(c, ".", lower-roman) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + + + + +
    +
    + i.i + ii + iii + iv + v + vi + vii + viii + ix + x + xi + xii + xii.xlix + xiii + xiii.ccclxxxix + xiv + xiv.mmmcdlxxxix + xv + xvi +
    diff --git a/tests/wpt/tests/css/css-lists/counters-003-ref.html b/tests/wpt/tests/css/css-lists/counters-003-ref.html new file mode 100644 index 00000000000..75655e2dfb1 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-003-ref.html @@ -0,0 +1,45 @@ + +CSS Lists and Counters test reference: counters(c, ".", upper-roman) +

    The following two lines should look the same:

    +
    + I.I + II + III + IV + V + VI + VII + VIII + IX + X + XI + XII + XII.XLIX + XIII + XIII.CCCLXXXIX + XIV + XIV.MMMCDLXXXIX + XV + XVI +
    +
    + I.I + II + III + IV + V + VI + VII + VIII + IX + X + XI + XII + XII.XLIX + XIII + XIII.CCCLXXXIX + XIV + XIV.MMMCDLXXXIX + XV + XVI +
    diff --git a/tests/wpt/tests/css/css-lists/counters-003.html b/tests/wpt/tests/css/css-lists/counters-003.html new file mode 100644 index 00000000000..1648081a4d3 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-003.html @@ -0,0 +1,54 @@ + +CSS Lists and Counters: counters(c, ".", upper-roman) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + I.I + II + III + IV + V + VI + VII + VIII + IX + X + XI + XII + XII.XLIX + XIII + XIII.CCCLXXXIX + XIV + XIV.MMMCDLXXXIX + XV + XVI +
    + diff --git a/tests/wpt/tests/css/css-lists/counters-004-ref.html b/tests/wpt/tests/css/css-lists/counters-004-ref.html new file mode 100644 index 00000000000..070c7047386 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-004-ref.html @@ -0,0 +1,88 @@ + + +CSS Lists and Counters test reference: counters(c, ".", georgian) +

    The following two lines should look the same:

    +
    + ა.ა + + + + + + + + + + ია + იბ + იბ.კ + იბ.ლ + იბ.მ + იბ.ნ + იბ.ჲ + იბ.ო + იბ.პ + იბ.ჟ + იბ.რ + იბ.ს + იბ.ტ + იბ.ჳ + იბ.ფ + იბ.ქ + იბ.ღ + იბ.ყ + იბ.შ + იბ.ჩ + იბ.ც + იბ.ძ + იბ.წ + იბ.ჭ + იბ.ხ + იბ.ჴ + იბ.ჯ + იბ.ჰ + იბ.ჵ + იბ.ჵჰშჟთ +
    +
    + ა.ა + + + + + + + + + + ია + იბ + იბ.კ + იბ.ლ + იბ.მ + იბ.ნ + იბ.ჲ + იბ.ო + იბ.პ + იბ.ჟ + იბ.რ + იბ.ს + იბ.ტ + იბ.ჳ + იბ.ფ + იბ.ქ + იბ.ღ + იბ.ყ + იბ.შ + იბ.ჩ + იბ.ც + იბ.ძ + იბ.წ + იბ.ჭ + იბ.ხ + იბ.ჴ + იბ.ჯ + იბ.ჰ + იბ.ჵ + იბ.ჵჰშჟთ +
    diff --git a/tests/wpt/tests/css/css-lists/counters-004.html b/tests/wpt/tests/css/css-lists/counters-004.html new file mode 100644 index 00000000000..6b1b1c850d7 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-004.html @@ -0,0 +1,95 @@ + + +CSS Lists and Counters: counters(c, ".", georgian) + + + + +

    The following two lines should look the same:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + ა.ა + + + + + + + + + + ია + იბ + იბ.კ + იბ.ლ + იბ.მ + იბ.ნ + იბ.ჲ + იბ.ო + იბ.პ + იბ.ჟ + იბ.რ + იბ.ს + იბ.ტ + იბ.ჳ + იბ.ფ + იბ.ქ + იბ.ღ + იბ.ყ + იბ.შ + იბ.ჩ + იბ.ც + იბ.ძ + იბ.წ + იბ.ჭ + იბ.ხ + იბ.ჴ + იბ.ჯ + იბ.ჰ + იბ.ჵ + იბ.ჵჰშჟთ +
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-001-ref.html b/tests/wpt/tests/css/css-lists/counters-scope-001-ref.html new file mode 100644 index 00000000000..e7c3abf5101 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-001-ref.html @@ -0,0 +1,11 @@ + +CSS Lists and Counters test reference: counters scope +

    The following two lines should be the same:

    +
    + 1 2 1 1 1 1 + 1 3 3 1 1 1 +
    +
    + 1 2 1 1 1 1 + 1 3 3 1 1 1 +
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-001.html b/tests/wpt/tests/css/css-lists/counters-scope-001.html new file mode 100644 index 00000000000..2ea72753bd9 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-001.html @@ -0,0 +1,34 @@ + +CSS Lists and Counters: counters scope + + + + +

    The following two lines should be the same:

    + +
    + + + + + + + + + + + + + + +
    +
    + 1 2 1 1 1 1 + 1 3 3 1 1 1 +
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-002-ref.html b/tests/wpt/tests/css/css-lists/counters-scope-002-ref.html new file mode 100644 index 00000000000..5d3b3bdefdb --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-002-ref.html @@ -0,0 +1,5 @@ + +CSS Lists and Counters test reference: counters scope +

    The following two lines should be the same:

    +
    B1- B2- B2.1- B2.2-A2.3- B2.4-A2.5- A2.6- B3- B4-A5- A6- A7- A8-
    +
    B1- B2- B2.1- B2.2-A2.3- B2.4-A2.5- A2.6- B3- B4-A5- A6- A7- A8-
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-002.html b/tests/wpt/tests/css/css-lists/counters-scope-002.html new file mode 100644 index 00000000000..8261d55971d --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-002.html @@ -0,0 +1,25 @@ + +CSS Lists and Counters: counters scope + + + + +

    The following two lines should be the same:

    +
    + + + + + + + + + + + +
    +
    B1- B2- B2.1- B2.2-A2.3- B2.4-A2.5- A2.6- B3- B4-A5- A6- A7- A8-
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-003-ref.html b/tests/wpt/tests/css/css-lists/counters-scope-003-ref.html new file mode 100644 index 00000000000..d391da8c729 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-003-ref.html @@ -0,0 +1,5 @@ + +CSS Lists and Counters test reference: counters scope +

    The following two lines should be the same:

    +
    B1- B1.1- B2-A3- A4- A5-
    +
    B1- B1.1- B2-A3- A4- A5-
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-003.html b/tests/wpt/tests/css/css-lists/counters-scope-003.html new file mode 100644 index 00000000000..f7b94e28635 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-003.html @@ -0,0 +1,19 @@ + +CSS Lists and Counters: counters scope + + + + +

    The following two lines should be the same:

    +
    + + + + + +
    +
    B1- B1.1- B2-A3- A4- A5-
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-004-ref.html b/tests/wpt/tests/css/css-lists/counters-scope-004-ref.html new file mode 100644 index 00000000000..468739cfcb3 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-004-ref.html @@ -0,0 +1,5 @@ + +CSS Lists and Counters test reference: counters scope +

    The following two lines should be the same:

    +
    1 1 R 2 3
    +
    1 1 R 2 3
    diff --git a/tests/wpt/tests/css/css-lists/counters-scope-004.html b/tests/wpt/tests/css/css-lists/counters-scope-004.html new file mode 100644 index 00000000000..4a60c4ca0bd --- /dev/null +++ b/tests/wpt/tests/css/css-lists/counters-scope-004.html @@ -0,0 +1,27 @@ + +CSS Lists and Counters: counters scope + + + + +

    The following two lines should be the same:

    + + + +
    + + + + + + + + + +
    +
    1 1 R 2 3
    diff --git a/tests/wpt/tests/css/css-lists/list-item-counter-crash.html b/tests/wpt/tests/css/css-lists/list-item-counter-crash.html new file mode 100644 index 00000000000..fc8a38c6280 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/list-item-counter-crash.html @@ -0,0 +1,15 @@ + + + + + +
  • + + diff --git a/tests/wpt/tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg b/tests/wpt/tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg index be5ad144e51..83f7eec4fec 100644 --- a/tests/wpt/tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg +++ b/tests/wpt/tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg @@ -5,7 +5,7 @@ - + svg A basic shape function circle() applied to an SVG rectangle. The specified keyword stroke-box defines the reference box diff --git a/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html b/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html index d42b2fe5a32..5346a4c2242 100644 --- a/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html +++ b/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html @@ -2,7 +2,7 @@ - + +
    diff --git a/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html b/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html index bf7b098dbda..c3fc5a90af2 100644 --- a/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html +++ b/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html @@ -7,7 +7,7 @@ - + +
    diff --git a/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1e.html b/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1e.html new file mode 100644 index 00000000000..cd0d3987d9f --- /dev/null +++ b/tests/wpt/tests/css/css-masking/clip-path/clip-path-paddingBox-1e.html @@ -0,0 +1,21 @@ + +CSS Masking: clip path with padding-box and border-radius + + + + + + + +
    diff --git a/tests/wpt/tests/css/css-masking/clip-path/clip-path-polygon-010.html b/tests/wpt/tests/css/css-masking/clip-path/clip-path-polygon-010.html index c60aba2979a..e74a134082e 100644 --- a/tests/wpt/tests/css/css-masking/clip-path/clip-path-polygon-010.html +++ b/tests/wpt/tests/css/css-masking/clip-path/clip-path-polygon-010.html @@ -9,9 +9,9 @@

    The test passes if you see a green vertical stripe next to a lime green vertical stripe, both stripes should be of equal size and there should be no red.

    -
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-masking/clip-path/clip-path-rect-003.html b/tests/wpt/tests/css/css-masking/clip-path/clip-path-rect-003.html index d61dce8c233..a2d201c1b0f 100644 --- a/tests/wpt/tests/css/css-masking/clip-path/clip-path-rect-003.html +++ b/tests/wpt/tests/css/css-masking/clip-path/clip-path-rect-003.html @@ -4,7 +4,7 @@ CSS Masking: Test clip-path property and rect function - + diff --git a/tests/wpt/tests/css/css-masking/clip-path/clip-path-round-zero-size.html b/tests/wpt/tests/css/css-masking/clip-path/clip-path-round-zero-size.html index 32396fa8d24..59404f81c9d 100644 --- a/tests/wpt/tests/css/css-masking/clip-path/clip-path-round-zero-size.html +++ b/tests/wpt/tests/css/css-masking/clip-path/clip-path-round-zero-size.html @@ -7,7 +7,7 @@ - + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-masking/mask-image/mask-image-2.html b/tests/wpt/tests/css/css-masking/mask-image/mask-image-2.html index ba6eb37ef6d..673f55a7e36 100644 --- a/tests/wpt/tests/css/css-masking/mask-image/mask-image-2.html +++ b/tests/wpt/tests/css/css-masking/mask-image/mask-image-2.html @@ -7,7 +7,7 @@ - + +

    There should be a green square below.

    +
    + A A +
    diff --git a/tests/wpt/tests/css/css-masking/mask-image/mask-opacity-1d.html b/tests/wpt/tests/css/css-masking/mask-image/mask-opacity-1d.html index 6f50b8f6f52..77eab966cbf 100644 --- a/tests/wpt/tests/css/css-masking/mask-image/mask-opacity-1d.html +++ b/tests/wpt/tests/css/css-masking/mask-image/mask-opacity-1d.html @@ -8,6 +8,7 @@ + diff --git a/tests/wpt/tests/css/css-masking/mask-image/reference/mask-image-inline-sliced-1-ref.html b/tests/wpt/tests/css/css-masking/mask-image/reference/mask-image-inline-sliced-1-ref.html new file mode 100644 index 00000000000..4e540c2011a --- /dev/null +++ b/tests/wpt/tests/css/css-masking/mask-image/reference/mask-image-inline-sliced-1-ref.html @@ -0,0 +1,14 @@ + +'box-decoration-break: slice' and 'mask-image' (reference) + + + +

    There should be a green square below.

    +
    + A +
    diff --git a/tests/wpt/tests/css/css-masking/mask-shorthand-subproperties-reset.html b/tests/wpt/tests/css/css-masking/mask-shorthand-subproperties-reset.html new file mode 100644 index 00000000000..9ea20cbb8b1 --- /dev/null +++ b/tests/wpt/tests/css/css-masking/mask-shorthand-subproperties-reset.html @@ -0,0 +1,52 @@ + + + + +Resetting mask shorthand subproperties + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-masking/mask-svg-content/mask-with-filter.svg b/tests/wpt/tests/css/css-masking/mask-svg-content/mask-with-filter.svg new file mode 100644 index 00000000000..a6028a398ea --- /dev/null +++ b/tests/wpt/tests/css/css-masking/mask-svg-content/mask-with-filter.svg @@ -0,0 +1,23 @@ + + + 'filters applied to masked elements + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-masking/parsing/clip-path-valid.html b/tests/wpt/tests/css/css-masking/parsing/clip-path-valid.html index 2fb0c6248a2..84555fd2d16 100644 --- a/tests/wpt/tests/css/css-masking/parsing/clip-path-valid.html +++ b/tests/wpt/tests/css/css-masking/parsing/clip-path-valid.html @@ -73,10 +73,10 @@ test_valid_value("clip-path", "stroke-box"); test_valid_value("clip-path", "view-box"); // -test_valid_value("clip-path", "circle(7% at 8% 9%) border-box"); +test_valid_value("clip-path", "circle(7% at 8% 9%) border-box", "circle(7% at 8% 9%)"); // -test_valid_value("clip-path", "border-box circle(7% at 8% 9%)", ["border-box circle(7% at 8% 9%)", "circle(7% at 8% 9%) border-box"]); +test_valid_value("clip-path", "border-box circle(7% at 8% 9%)", "circle(7% at 8% 9%)"); // test_valid_value("clip-path", "url(https://example.com/)", ["url(https://example.com/)", "url(\"https://example.com/\")"]); diff --git a/tests/wpt/tests/css/css-masking/parsing/mask-position-valid.html b/tests/wpt/tests/css/css-masking/parsing/mask-position-valid.html index c70e18c47a3..858bb4b68ac 100644 --- a/tests/wpt/tests/css/css-masking/parsing/mask-position-valid.html +++ b/tests/wpt/tests/css/css-masking/parsing/mask-position-valid.html @@ -11,28 +11,28 @@ diff --git a/tests/wpt/tests/css/css-masking/parsing/mask-valid.sub.html b/tests/wpt/tests/css/css-masking/parsing/mask-valid.sub.html index 6b6d712d175..a377060ded8 100644 --- a/tests/wpt/tests/css/css-masking/parsing/mask-valid.sub.html +++ b/tests/wpt/tests/css/css-masking/parsing/mask-valid.sub.html @@ -53,8 +53,12 @@ test_valid_value('mask', 'url("https://{{host}}/") alpha'); // = || [ / ]? || || // || [ | no-clip ] || || -test_valid_value('mask', 'intersect no-clip space round 1px 2px / contain stroke-box linear-gradient(to left bottom, red, blue) luminance', 'linear-gradient(to left bottom, red, blue) luminance 1px 2px / contain space round stroke-box no-clip intersect'); -test_valid_value('mask', 'intersect no-clip space round 1px 2px / contain view-box, stroke-box linear-gradient(to left bottom, red, blue) luminance', '1px 2px / contain space round view-box no-clip intersect, linear-gradient(to left bottom, red, blue) luminance stroke-box'); +test_valid_value('mask', + 'intersect no-clip space round 1px 2px / contain stroke-box linear-gradient(to left bottom, red, blue) luminance', + 'linear-gradient(to left bottom, red, blue) 1px 2px / contain space round stroke-box no-clip intersect luminance'); +test_valid_value('mask', + 'intersect no-clip space round 1px 2px / contain view-box, stroke-box linear-gradient(to left bottom, red, blue) luminance', + '1px 2px / contain space round view-box no-clip intersect, linear-gradient(to left bottom, red, blue) stroke-box luminance'); // Earlier versions of the mask shorthand always required a . // To avoid unnecessarily losing test coverage, keep one of the test cases from back then. @@ -69,6 +73,11 @@ test_shorthand_value('mask', 'none', { 'mask-clip': 'border-box', 'mask-composite': 'add', 'mask-mode': 'match-source', + 'mask-border-source': 'none', + 'mask-border-outset': '0', + 'mask-border-repeat': 'stretch', + 'mask-border-slice': '0', + 'mask-border-width': 'auto' }) test_shorthand_value('mask', 'none, linear-gradient(to left bottom, red, blue) padding-box', { 'mask-image': 'none, linear-gradient(to left bottom, red, blue)', @@ -79,6 +88,11 @@ test_shorthand_value('mask', 'none, linear-gradient(to left bottom, red, blue) p 'mask-clip': 'border-box, padding-box', 'mask-composite': 'add, add', 'mask-mode': 'match-source, match-source', + 'mask-border-source': 'none', + 'mask-border-outset': '0', + 'mask-border-repeat': 'stretch', + 'mask-border-slice': '0', + 'mask-border-width': 'auto' }) diff --git a/tests/wpt/tests/css/css-multicol/balance-grid-001.html b/tests/wpt/tests/css/css-multicol/balance-grid-001.html new file mode 100644 index 00000000000..5c81b56b4a5 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/balance-grid-001.html @@ -0,0 +1,18 @@ + + + +
    + 1
    2
    +
    +
    3
    +
    4
    +
    + 5 +
    6
    +
    + + + + diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-001.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-001.html new file mode 100644 index 00000000000..af270569db3 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-001.html @@ -0,0 +1,11 @@ + + + +
    + +
    + diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-002.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-002.html new file mode 100644 index 00000000000..2d0be3d694e --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-002.html @@ -0,0 +1,13 @@ + + + +
    +



    + +



    +
    + diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-003.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-003.html new file mode 100644 index 00000000000..c0c5891ec81 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-area-003.html @@ -0,0 +1,15 @@ + + + +
    +
    +



    + +



    +
    +
    + diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-multicol-spanner-in-multicol.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-multicol-spanner-in-multicol.html new file mode 100644 index 00000000000..0331b43c6a1 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-multicol-spanner-in-multicol.html @@ -0,0 +1,13 @@ + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-relpos-in-oof-in-multicol-in-multicol.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-relpos-in-oof-in-multicol-in-multicol.html new file mode 100644 index 00000000000..0dd4479bafe --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-relpos-in-oof-in-multicol-in-multicol.html @@ -0,0 +1,16 @@ + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-spanner-in-multicol-in-spanner-in-nested-multicol.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-spanner-in-multicol-in-spanner-in-nested-multicol.html new file mode 100644 index 00000000000..0ee6ad4d01a --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-spanner-in-multicol-in-spanner-in-nested-multicol.html @@ -0,0 +1,17 @@ + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-spanner-in-nested-multicol.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-spanner-in-nested-multicol.html new file mode 100644 index 00000000000..fe44012518d --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-oof-multicol-in-spanner-in-nested-multicol.html @@ -0,0 +1,13 @@ + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-relpos-in-oof-multicol-in-oof-in-relpos-in-oof-multicol-in-multicol.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-relpos-in-oof-multicol-in-oof-in-relpos-in-oof-multicol-in-multicol.html new file mode 100644 index 00000000000..be73623b0b4 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-relpos-in-oof-multicol-in-oof-in-relpos-in-oof-multicol-in-multicol.html @@ -0,0 +1,16 @@ + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-multicol/crashtests/oof-in-relpos-in-oof-multicol-in-relpos-in-oof-multicol-in-relpos-multicol.html b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-relpos-in-oof-multicol-in-relpos-in-oof-multicol-in-relpos-multicol.html new file mode 100644 index 00000000000..1e6845e70ce --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/crashtests/oof-in-relpos-in-oof-multicol-in-relpos-in-oof-multicol-in-relpos-multicol.html @@ -0,0 +1,14 @@ + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-multicol/multicol-fill-balance-027.html b/tests/wpt/tests/css/css-multicol/multicol-fill-balance-027.html new file mode 100644 index 00000000000..9a189595047 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/multicol-fill-balance-027.html @@ -0,0 +1,15 @@ + + + +
    +
    +
    +
    +
    + + + diff --git a/tests/wpt/tests/css/css-multicol/multicol-fill-balance-028.html b/tests/wpt/tests/css/css-multicol/multicol-fill-balance-028.html new file mode 100644 index 00000000000..f66c99869b3 --- /dev/null +++ b/tests/wpt/tests/css/css-multicol/multicol-fill-balance-028.html @@ -0,0 +1,17 @@ + + + +
    + +
    +
    +
    +
    +
    + + + diff --git a/tests/wpt/tests/css/css-overflow/overflow-clip-margin-012.html b/tests/wpt/tests/css/css-overflow/overflow-clip-margin-012.html new file mode 100644 index 00000000000..a1b0587a4d5 --- /dev/null +++ b/tests/wpt/tests/css/css-overflow/overflow-clip-margin-012.html @@ -0,0 +1,36 @@ + + + +Overflow: visible + overflow-clip-margin is shown with content-visibility: auto + + + +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-position/backdrop-inherit-computed.html b/tests/wpt/tests/css/css-position/backdrop-inherit-computed.html new file mode 100644 index 00000000000..77c6f362640 --- /dev/null +++ b/tests/wpt/tests/css/css-position/backdrop-inherit-computed.html @@ -0,0 +1,42 @@ + +CSS Position Test: ::backdrop inherits from originating element - computed values + + + + + + diff --git a/tests/wpt/tests/css/css-position/backdrop-inherit-rendered-ref.html b/tests/wpt/tests/css/css-position/backdrop-inherit-rendered-ref.html new file mode 100644 index 00000000000..6343f8d1410 --- /dev/null +++ b/tests/wpt/tests/css/css-position/backdrop-inherit-rendered-ref.html @@ -0,0 +1,15 @@ + +CSS Test Reference + +Green backdrop with 100px inset + diff --git a/tests/wpt/tests/css/css-position/backdrop-inherit-rendered.html b/tests/wpt/tests/css/css-position/backdrop-inherit-rendered.html new file mode 100644 index 00000000000..98dfe748ed5 --- /dev/null +++ b/tests/wpt/tests/css/css-position/backdrop-inherit-rendered.html @@ -0,0 +1,18 @@ + +CSS Position Test: ::backdrop inherits from originating element - rendering + + + +Green backdrop with 100px inset + diff --git a/tests/wpt/tests/css/css-position/overlay/overlay-transition-backdrop.html b/tests/wpt/tests/css/css-position/overlay/overlay-transition-backdrop.html index 30d40e111f9..898b6b2e0f0 100644 --- a/tests/wpt/tests/css/css-position/overlay/overlay-transition-backdrop.html +++ b/tests/wpt/tests/css/css-position/overlay/overlay-transition-backdrop.html @@ -11,6 +11,7 @@ transition-behavior: allow-discrete; } [popover]::backdrop { + visibility: visible; background-color: green; } diff --git a/tests/wpt/tests/css/css-position/sticky/position-sticky-hyperlink.html b/tests/wpt/tests/css/css-position/sticky/position-sticky-hyperlink.html index c8ef07edd17..cc8de9a822c 100644 --- a/tests/wpt/tests/css/css-position/sticky/position-sticky-hyperlink.html +++ b/tests/wpt/tests/css/css-position/sticky/position-sticky-hyperlink.html @@ -1,8 +1,9 @@ Sticky element with hyperlink should work - - - + + + + + + +
    + The second line. + The third line. +
    + + diff --git a/tests/wpt/tests/css/css-pseudo/highlight-cascade-008-ref.html b/tests/wpt/tests/css/css-pseudo/highlight-cascade-008-ref.html new file mode 100644 index 00000000000..c87ddcf93c9 --- /dev/null +++ b/tests/wpt/tests/css/css-pseudo/highlight-cascade-008-ref.html @@ -0,0 +1,18 @@ + +Custom property values from the root element + + +
    PASS if background-color is green when selected, except this which is blue, and underline is yellow. \ No newline at end of file diff --git a/tests/wpt/tests/css/css-pseudo/highlight-cascade-008.html b/tests/wpt/tests/css/css-pseudo/highlight-cascade-008.html new file mode 100644 index 00000000000..10ca924b8fd --- /dev/null +++ b/tests/wpt/tests/css/css-pseudo/highlight-cascade-008.html @@ -0,0 +1,31 @@ + +Custom property values from the root element + + + + + + + +
    PASS if background-color is green when selected, except this which is blue, and underline is yellow.
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-pseudo/highlight-cascade-009.html b/tests/wpt/tests/css/css-pseudo/highlight-cascade-009.html new file mode 100644 index 00000000000..acc48c7c364 --- /dev/null +++ b/tests/wpt/tests/css/css-pseudo/highlight-cascade-009.html @@ -0,0 +1,41 @@ + + +CSS Pseudo-Elements Test: highlight cascade: inheritance of custom properties + + + + + + + + + + +
    Some text
    + + diff --git a/tests/wpt/tests/css/css-pseudo/highlight-currentcolor-painting-properties-001.html b/tests/wpt/tests/css/css-pseudo/highlight-currentcolor-painting-properties-001.html index 8f347f119e5..9fdf11e739c 100644 --- a/tests/wpt/tests/css/css-pseudo/highlight-currentcolor-painting-properties-001.html +++ b/tests/wpt/tests/css/css-pseudo/highlight-currentcolor-painting-properties-001.html @@ -6,6 +6,7 @@ + + + +
    + The second line. + The third line. +
    + + diff --git a/tests/wpt/tests/css/css-scroll-anchoring/after-scrollable-range-shrinkage-001.html b/tests/wpt/tests/css/css-scroll-anchoring/after-scrollable-range-shrinkage-001.html new file mode 100644 index 00000000000..e155c6625c3 --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-anchoring/after-scrollable-range-shrinkage-001.html @@ -0,0 +1,44 @@ + + + + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/css-scroll-anchoring/after-scrollable-range-shrinkage-002.html b/tests/wpt/tests/css/css-scroll-anchoring/after-scrollable-range-shrinkage-002.html new file mode 100644 index 00000000000..d6399c5a6c5 --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-anchoring/after-scrollable-range-shrinkage-002.html @@ -0,0 +1,39 @@ + + + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/css-scroll-snap-2/scroll-start/scroll-start-with-scroll-snap.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/scroll-start/scroll-start-with-scroll-snap.tentative.html index b813fcc750e..8bdac300ba3 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/scroll-start/scroll-start-with-scroll-snap.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/scroll-start/scroll-start-with-scroll-snap.tentative.html @@ -17,21 +17,27 @@ } .spacer { - height: 100px; + height: 200px; width: 100px; } .scroller { - height: 100px; + height: 220px; width: 100px; overflow: scroll; - scroll-start: 200px; scroll-snap-type: both mandatory; } + #single_snap_scroller { + scroll-start: 100%; + } + #multi_snap_scroller { + scroll-start: 350px; + } + .snap_point { width: 100px; - height: 100px; + height: 200px; scroll-snap-align: start; } @@ -53,11 +59,11 @@ }, "snap overrides scroll-start position"); test((t) => { - // scroll-start sets the initial scroll offset to the top of the third - // snap_point, so the scroller snaps to the third snap_point. + // scroll-start sets the initial scroll offset to 350px which is closer to + // the third snap point than the second, so the scroller should snap to + // the third snap_point. assert_equals(multi_snap_scroller.scrollTop, - snap_point_1.getBoundingClientRect().height + - snap_point_2.getBoundingClientRect().height, + multi_snap_scroller.scrollHeight - multi_snap_scroller.clientHeight, "scroller snaps to snap point closer to start position."); }, "scroller snaps based on scroll-start position"); diff --git a/tests/wpt/tests/css/css-scroll-snap/crashtests/fractional-covering-area-crash.html b/tests/wpt/tests/css/css-scroll-snap/crashtests/fractional-covering-area-crash.html new file mode 100644 index 00000000000..6905b0fd394 --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/crashtests/fractional-covering-area-crash.html @@ -0,0 +1,25 @@ + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/css-scroll-snap/input/keyboard.html b/tests/wpt/tests/css/css-scroll-snap/input/keyboard.html index 6f225544614..79d0fc9f36d 100644 --- a/tests/wpt/tests/css/css-scroll-snap/input/keyboard.html +++ b/tests/wpt/tests/css/css-scroll-snap/input/keyboard.html @@ -14,6 +14,7 @@ + @@ -43,45 +44,60 @@ function ScrollCounter(test, eventTarget) { }); } +async function initializeScrollPosition(scroller, x, y) { + return new Promise(async (resolve) => { + if (scroller.scrollLeft != x || scroller.scrollTop != y) { + const scrollEndPromise = waitForScrollEnd(scroller); + scroller.scrollTo(x, y); + await scrollEndPromise; + } + resolve(); + }); +} + promise_test(async t => { - scroller.scrollTo(0, 0); + await initializeScrollPosition(scroller, 0, 0); assert_equals(scroller.scrollTop, 0, "verify test pre-condition"); const scrollCounter = new ScrollCounter(t, scroller); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowDown"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_equals(scroller.scrollTop, 400); // Make sure we don't jump directly to the new snap position. assert_greater_than(scrollCounter.count, 1); }, "Snaps to bottom-left after pressing ArrowDown"); promise_test(async t => { - scroller.scrollTo(0, 400); + await initializeScrollPosition(scroller, 0, 400); assert_equals(scroller.scrollTop, 400, "verify test pre-condition"); const scrollCounter = new ScrollCounter(t, scroller); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowUp"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_equals(scroller.scrollTop, 0); // Make sure we don't jump directly to the new snap position. assert_greater_than(scrollCounter.count, 1); }, "Snaps to top-left after pressing ArrowUp"); promise_test(async t => { - scroller.scrollTo(0, 0); + await initializeScrollPosition(scroller, 0, 0); assert_equals(scroller.scrollTop, 0, "verify test pre-condition"); const scrollCounter = new ScrollCounter(t, scroller); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowRight"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_equals(scroller.scrollLeft, 400); // Make sure we don't jump directly to the new snap position. assert_greater_than(scrollCounter.count, 1); }, "Snaps to top-right after pressing ArrowRight"); promise_test(async t => { - scroller.scrollTo(400, 0); + await initializeScrollPosition(scroller, 400, 0); assert_equals(scroller.scrollLeft, 400, "verify test pre-condition"); const scrollCounter = new ScrollCounter(t, scroller); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowLeft"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_equals(scroller.scrollLeft, 0); // Make sure we don't jump directly to the new snap position. assert_greater_than(scrollCounter.count, 1); @@ -98,10 +114,11 @@ promise_test(async t => { // Make the distance between the previous and the next snap position larger // than snapport. topRight.style.left = "500px"; - scroller.scrollTo(0, 0); + await initializeScrollPosition(scroller, 0, 0); assert_equals(scroller.scrollLeft, 0, "verify test pre-condition"); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowRight"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_between_exclusive(scroller.scrollLeft, 0, 500); }, "If the original intended offset is valid as making a snap area cover the" + "snapport, and there's no other snap offset in between, use the original" @@ -119,19 +136,20 @@ promise_test(async t => { // Make the next snap offset closer than the original intended offset. topRight.style.left = "20px"; topRight.style.scrollSnapStop = "always"; - scroller.scrollTo(0, 0); + await initializeScrollPosition(scroller, 0, 0); assert_equals(scroller.scrollLeft, 0, "verify test pre-condition"); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowRight"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_equals(scroller.scrollLeft, 20); }, "If the original intended offset is valid as making a snap area cover the " + "snapport, but there's a defined snap offset in between, use the defined snap" + " offset."); promise_test(async t => { - scroller.scrollTo(400, 0); + await initializeScrollPosition(scroller, 400, 0); await keyPress(scroller, "ArrowRight"); - await waitForScrollEnd(scroller); + await waitForScrollStop(scroller); assert_equals(scroller.scrollLeft, 400); }, "If there is no valid snap offset on the arrow key's direction other than " + "the current offset, and the scroll-snap-type is mandatory, stay at the " @@ -152,10 +170,11 @@ promise_test(async t => { scroller.style.width = "100px"; topLeft.style.width = "80px"; - scroller.scrollTo(400, 0); + await initializeScrollPosition(scroller, 400, 0); assert_equals(scroller.scrollLeft, 400, "verify test pre-condition"); + const scrollEndPromise = waitForScrollEnd(scroller); await keyPress(scroller, "ArrowRight"); - await waitForScrollEnd(scroller); + await scrollEndPromise; assert_greater_than(scroller.scrollLeft, 400); }, "If there is no valid snap offset on the arrow key's direction other than " + "the current offset, and the scroll-snap-type is proximity, go to the " diff --git a/tests/wpt/tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html b/tests/wpt/tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html index c497845263f..0978f127fa4 100644 --- a/tests/wpt/tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html +++ b/tests/wpt/tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html @@ -3,6 +3,9 @@ +
    +
    +
    +
    + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-002.html b/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-002.html index cadafe2a82d..0951604a74b 100644 --- a/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-002.html +++ b/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-002.html @@ -229,8 +229,15 @@ test(() => { // 0 400 700 900 // Scoll on the element whose snap area is larger than the snapport. - scroller7.scrollBy(700, 0); - assert_equals(scroller7.scrollLeft, 700); + scroller7.scrollBy(600, 0); + // Stops before the smaller snap area @ 900px enters the snapport. + assert_equals(scroller7.scrollLeft + scroller7.clientWidth, 900); + assert_equals(scroller7.scrollTop, 0); + + scroller7.scrollTo(0, 0); + scroller7.scrollBy(800, 0); + // Now the smaller snap area is closer, so we snap to it. + assert_equals(scroller7.scrollLeft, 900); assert_equals(scroller7.scrollTop, 0); }, "`scroll-snap-stop: always` snap point is further than the scroll " + "destination and a snap area covers the snapport"); diff --git a/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-dynamic-crash.html b/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-dynamic-crash.html new file mode 100644 index 00000000000..0039a0168e8 --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/scroll-snap-stop-dynamic-crash.html @@ -0,0 +1,15 @@ + + + +
    + diff --git a/tests/wpt/tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html b/tests/wpt/tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html index 2556ed99def..a45ac92e5ac 100644 --- a/tests/wpt/tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html +++ b/tests/wpt/tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html @@ -4,12 +4,13 @@ +

    Test passes if there is an orange square tucked into each blue corner without gaps, -and there is no red. +and there is no red, except for the large inverted cases which should have red +in the silver corner and smaller orange boxes in the blue corner.

    @@ -87,6 +106,7 @@ and there is no red. +
    @@ -165,3 +185,4 @@ and there is no red.
    + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-writing-mode-000.html b/tests/wpt/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-writing-mode-000.html index e5d3dd9358b..f44317c8585 100644 --- a/tests/wpt/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-writing-mode-000.html +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-initial-layout/scroll-snap-writing-mode-000.html @@ -78,7 +78,8 @@

    Test passes if there is an orange square tucked into each blue corner without gaps, -and there is no red. + and there is no red, except for the large inverted cases which should have red + in the silver corner and smaller orange boxes in the blue corner.

    diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html index 3be68fe841a..c4bb2e9ff42 100644 --- a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html @@ -71,11 +71,51 @@ test(t => { assert_equals(scroller.scrollLeft, 100); initial_target.style.setProperty("scroll-snap-align", "end"); - // target.top + target.height - scroller.height - assert_equals(scroller.scrollTop, 200); - assert_equals(scroller.scrollLeft, 200); -}, "Changing the current target's snap alignment should make the scroller" -+ " resnap to it even if another snap position is closer to the current offset"); + // scroller maintains scroll position which is still valid as the target's + // snap area covers the snap port. + assert_equals(scroller.scrollTop, 100); + assert_equals(scroller.scrollLeft, 100); +}, "Changing a large target's snap alignment shouldn't make the scroller" + + " resnap if the scroller is already in a valid snap position."); + +// Similar to above test case except targets are too small to cover snap port, +// so scroller must snap in response to change in scroll-snap-align. +test(t => { + t.add_cleanup(cleanup); + const initial_target_height = initial_target.offsetHeight; + const initial_target_width = initial_target.offsetWidth; + const other_target_height = initial_target.offsetHeight; + const other_target_width = initial_target.offsetWidth; + t.add_cleanup(() => { + initial_target.style.setProperty("height", `${initial_target_height}px`); + initial_target.style.setProperty("width", `${initial_target_width}px`); + other_target.style.setProperty("height", `${other_target_height}px`); + other_target.style.setProperty("width", `${other_target_width}px`); + }) + scroller.scrollTo(0,0); + assert_equals(scroller.scrollTop, 100); + assert_equals(scroller.scrollLeft, 100); + + initial_target.style.setProperty("height", `${scroller.clientHeight * 2/3 }px`); + initial_target.style.setProperty("width", `${scroller.clientWidth * 2/3 }px`); + other_target.style.setProperty("height", `${scroller.clientHeight * 2/3 }px`); + other_target.style.setProperty("width", `${scroller.clientWidth * 2/3 }px`); + + // scroll (and snap) to top left of other target. + scroller.scrollTo(other_target.offsetTop, + other_target.offsetLeft); + assert_equals(scroller.scrollTop, other_target.offsetTop,); + assert_equals(scroller.scrollLeft, other_target.offsetLeft); + + other_target.style.setProperty("scroll-snap-align", "end"); + // should be scrolled so as to align scroller's bottom-right with + // other_target's bottom-right. + assert_equals(scroller.scrollTop, + other_target.offsetTop + other_target.offsetHeight - scroller.clientHeight); + assert_equals(scroller.scrollLeft, + other_target.offsetLeft + other_target.offsetWidth - scroller.clientWidth); +}, "Changing the current (non-covering) target's snap alignment should make " + + "the scroller snap according to the new alignment."); test(t => { t.add_cleanup(cleanup); diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-into-covering-area.html b/tests/wpt/tests/css/css-scroll-snap/snap-into-covering-area.html new file mode 100644 index 00000000000..2cc8741f5ef --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/snap-into-covering-area.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-to-combination-of-two-elements-1.html b/tests/wpt/tests/css/css-scroll-snap/snap-to-combination-of-two-elements-1.html new file mode 100644 index 00000000000..985227bb53c --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/snap-to-combination-of-two-elements-1.html @@ -0,0 +1,79 @@ + + + + Snap to points of combinations of two different elements + + + + + +
    +
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-to-combination-of-two-elements-2.tentative.html b/tests/wpt/tests/css/css-scroll-snap/snap-to-combination-of-two-elements-2.tentative.html new file mode 100644 index 00000000000..8d06eb91d0d --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/snap-to-combination-of-two-elements-2.tentative.html @@ -0,0 +1,87 @@ + + + + Snap to points of combinations of two different elements + + + + + +
    +
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-to-visible-areas-margin-both.html b/tests/wpt/tests/css/css-scroll-snap/snap-to-visible-areas-margin-both.html index f148036a1d5..4c3c3c11a64 100644 --- a/tests/wpt/tests/css/css-scroll-snap/snap-to-visible-areas-margin-both.html +++ b/tests/wpt/tests/css/css-scroll-snap/snap-to-visible-areas-margin-both.html @@ -65,10 +65,14 @@ test(() => { scroller.scrollTo(0, 0); assert_equals(scroller.scrollLeft, 0); assert_equals(scroller.scrollTop, 0); - scroller.scrollTo(500, 600); + // 750 and 650 are picked as those are closer to top left of the intersection + // (800, 800) of the snap areas where the browser should snap. This makes the + // intersection a closer snap option than a covering option that the browser + // might choose where the snapport is aligned on the bottom and right. + scroller.scrollTo(650, 750); assert_equals(scroller.scrollLeft, 800); assert_equals(scroller.scrollTop, 800); - scroller.scrollTo(600, 500); + scroller.scrollTo(750, 650); assert_equals(scroller.scrollLeft, 800); assert_equals(scroller.scrollTop, 800); }, 'Snap to area such that only the scroll margin from both axes\' areas are \ diff --git a/tests/wpt/tests/css/css-scroll-snap/support/common.js b/tests/wpt/tests/css/css-scroll-snap/support/common.js index 2eb7f3c3a84..c7800b95f14 100644 --- a/tests/wpt/tests/css/css-scroll-snap/support/common.js +++ b/tests/wpt/tests/css/css-scroll-snap/support/common.js @@ -70,33 +70,35 @@ function waitForWheelEvent(eventTarget) { return waitForEvent(eventTarget, 'wheel'); } -// Return a Promise which will be resolved where there's no scroll event -// observed during 15 frames. -// -// TODO: This function should be written with `scrollend` event. -function waitForScrollEnd(eventTarget) { - const MAX_UNCHANGED_FRAMES = 15; +function waitForScrollStop(eventTarget) { + const TIMEOUT_IN_MS = 200; return new Promise(resolve => { - let unchanged_frames = 0; - let lastScrollEventTime; + let lastScrollEventTime = performance.now(); const scrollListener = () => { - lastScrollEventTime = document.timeline.currentTime; + lastScrollEventTime = performance.now(); }; eventTarget.addEventListener('scroll', scrollListener); - const animationFrame = () => { - if (lastScrollEventTime == document.timeline.currentTime) { - unchanged_frames = 0; - } else if (++unchanged_frames >= MAX_UNCHANGED_FRAMES) { + const tick = () => { + if (performance.now() - lastScrollEventTime > TIMEOUT_IN_MS) { eventTarget.removeEventListener('scroll', scrollListener); resolve(); return; } - requestAnimationFrame(animationFrame); // wait another frame + requestAnimationFrame(tick); // wait another frame } - requestAnimationFrame(animationFrame); + requestAnimationFrame(tick); + }); +} + +function waitForScrollEnd(eventTarget) { + if (window.onscrollend !== undefined) { + return waitForScrollendEventNoTimeout(eventTarget); + } + return waitForScrollEvent(eventTarget).then(() => { + return waitForScrollStop(eventTarget); }); } diff --git a/tests/wpt/tests/css/css-scrollbars/scrollbar-color-dynamic-7-ref.html b/tests/wpt/tests/css/css-scrollbars/scrollbar-color-dynamic-7-ref.html new file mode 100644 index 00000000000..b431edf4240 --- /dev/null +++ b/tests/wpt/tests/css/css-scrollbars/scrollbar-color-dynamic-7-ref.html @@ -0,0 +1,34 @@ + + + +
    +
    +
    diff --git a/tests/wpt/tests/css/css-scrollbars/scrollbar-color-dynamic-7.html b/tests/wpt/tests/css/css-scrollbars/scrollbar-color-dynamic-7.html new file mode 100644 index 00000000000..894db93d6a1 --- /dev/null +++ b/tests/wpt/tests/css/css-scrollbars/scrollbar-color-dynamic-7.html @@ -0,0 +1,46 @@ + + +Dynamically set scrollbar-colors when starts auto and ensure scrollbars update + + + + + +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-shadow-parts/animation-part-ref.html b/tests/wpt/tests/css/css-shadow-parts/animation-part-ref.html new file mode 100644 index 00000000000..c0c8ff040c9 --- /dev/null +++ b/tests/wpt/tests/css/css-shadow-parts/animation-part-ref.html @@ -0,0 +1,5 @@ + +CSS Test reference +

    +

    +

    diff --git a/tests/wpt/tests/css/css-shadow-parts/animation-part.html b/tests/wpt/tests/css/css-shadow-parts/animation-part.html new file mode 100644 index 00000000000..333785fe628 --- /dev/null +++ b/tests/wpt/tests/css/css-shadow-parts/animation-part.html @@ -0,0 +1,46 @@ + +Animation name and ::part() + + + + + + + diff --git a/tests/wpt/tests/css/css-shadow-parts/exportparts-different-scope-ref.html b/tests/wpt/tests/css/css-shadow-parts/exportparts-different-scope-ref.html new file mode 100644 index 00000000000..d497566c45c --- /dev/null +++ b/tests/wpt/tests/css/css-shadow-parts/exportparts-different-scope-ref.html @@ -0,0 +1,3 @@ + +CSS Test Reference +Should be green diff --git a/tests/wpt/tests/css/css-shadow-parts/exportparts-different-scope.html b/tests/wpt/tests/css/css-shadow-parts/exportparts-different-scope.html new file mode 100644 index 00000000000..94fce0d3ad5 --- /dev/null +++ b/tests/wpt/tests/css/css-shadow-parts/exportparts-different-scope.html @@ -0,0 +1,31 @@ + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-shapes/basic-shape-circle-ellipse-serialization.html b/tests/wpt/tests/css/css-shapes/basic-shape-circle-ellipse-serialization.html index 715593d47b1..0b7a7bb3ccd 100644 --- a/tests/wpt/tests/css/css-shapes/basic-shape-circle-ellipse-serialization.html +++ b/tests/wpt/tests/css/css-shapes/basic-shape-circle-ellipse-serialization.html @@ -35,8 +35,8 @@ checkEquals("ellipse(closest-side farthest-side)", "ellipse(closest-side farthest-side)"); -checkEquals("circle(at top 0% right 5px)", "circle(at right 5px top 0%)"); -checkEquals("ellipse(at top 0% right 10px)", "ellipse(at right 10px top 0%)"); +checkEquals("circle(at top 0% right 5px)", "circle(at calc(100% - 5px) 0%)"); +checkEquals("ellipse(at top 0% right 10px)", "ellipse(at calc(100% - 10px) 0%)"); // Remove defaults like closest-side checkEquals("circle(closest-side at center)", "circle(at 50% 50%)"); @@ -57,20 +57,19 @@ checkEquals("ellipse(closest-side farthest-side at 50% 50%)", checkEquals("ellipse(closest-side 10% at 50% 50%)", "ellipse(closest-side 10% at 50% 50%)"); -// Don't transform nonzero lengths + // Transform to . checkEquals("circle(at right 5px bottom 10px)", - "circle(at right 5px bottom 10px)"); + "circle(at calc(100% - 5px) calc(100% - 10px))"); checkEquals("ellipse(at right 5px bottom 10px)", - "ellipse(at right 5px bottom 10px)"); + "ellipse(at calc(100% - 5px) calc(100% - 10px))"); -// Convert keyword-percentage pairs to plain percentages -// Convert zero lengths to 0% -checkEquals("circle(at right 5% top 0px)", "circle(at 95% 0%)"); -checkEquals("ellipse(at right 5% top 0px)", "ellipse(at 95% 0%)"); +// Don't convert zero lengths to 0% +checkEquals("circle(at right 5% top 0px)", "circle(at calc(95%) 0px)"); +checkEquals("ellipse(at right 5% top 0px)", "ellipse(at calc(95%) 0px)"); -// Don't transform calcs +// Transform calcs checkEquals("circle(at right calc(10% + 5px) bottom calc(10% + 5px))", - "circle(at right calc(10% + 5px) bottom calc(10% + 5px))"); + "circle(at calc(90% - 5px) calc(90% - 5px))"); checkEquals("ellipse(at right calc(10% + 5px) bottom calc(10% + 5px))", - "ellipse(at right calc(10% + 5px) bottom calc(10% + 5px))"); + "ellipse(at calc(90% - 5px) calc(90% - 5px))"); diff --git a/tests/wpt/tests/css/css-shapes/parsing/shape-outside-valid-position.html b/tests/wpt/tests/css/css-shapes/parsing/shape-outside-valid-position.html index cd13c25ba38..07b82ddda64 100644 --- a/tests/wpt/tests/css/css-shapes/parsing/shape-outside-valid-position.html +++ b/tests/wpt/tests/css/css-shapes/parsing/shape-outside-valid-position.html @@ -5,6 +5,7 @@ CSS Shapes Module Level 1: parsing shape-outside with valid position values + @@ -12,25 +13,24 @@ diff --git a/tests/wpt/tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html b/tests/wpt/tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html index 74e6fff2e57..d57bb5de4d6 100644 --- a/tests/wpt/tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html +++ b/tests/wpt/tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html @@ -10,6 +10,7 @@ + +CSS Test Reference +

    Test passes if you see three green cells and no red below.

    + + + + + + + + +
    A1A2
    B1
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-tables/paint/row-background-paint-remove-last-cell.html b/tests/wpt/tests/css/css-tables/paint/row-background-paint-remove-last-cell.html new file mode 100644 index 00000000000..e61b5d4fea0 --- /dev/null +++ b/tests/wpt/tests/css/css-tables/paint/row-background-paint-remove-last-cell.html @@ -0,0 +1,31 @@ + + + + + + + + +CSS Table Module Test: table-row repaint after removing last cell + +

    Test passes if you see three green cells and no red below.

    + + + + + + + + + +
    A1A2
    B1 B2
    + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-text-decor/invalidation/reference/selection-pseudo-with-decoration-invalidation-001-ref.html b/tests/wpt/tests/css/css-text-decor/invalidation/reference/selection-pseudo-with-decoration-invalidation-001-ref.html new file mode 100644 index 00000000000..7bbe11da926 --- /dev/null +++ b/tests/wpt/tests/css/css-text-decor/invalidation/reference/selection-pseudo-with-decoration-invalidation-001-ref.html @@ -0,0 +1,48 @@ + + + +CSS Text Decoration Test: Invalidation of text decorations in css-pseudo ::selection - reference + + + + + + +
    +There should be no sign of decorations when the test completes. +
    +
    +There should be decorations when the test completes. +
    + + + diff --git a/tests/wpt/tests/css/css-text-decor/invalidation/reference/selection-pseudo-with-decoration-invalidation-002-ref.html b/tests/wpt/tests/css/css-text-decor/invalidation/reference/selection-pseudo-with-decoration-invalidation-002-ref.html new file mode 100644 index 00000000000..59351f8bed4 --- /dev/null +++ b/tests/wpt/tests/css/css-text-decor/invalidation/reference/selection-pseudo-with-decoration-invalidation-002-ref.html @@ -0,0 +1,39 @@ + + + +CSS Text Decoration Test: Invalidation of text decorations in css-pseudo ::selection + + + +
    +This is one line of text, with an image underneath. +
    + +
    +And another line of text. +
    + + + diff --git a/tests/wpt/tests/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html b/tests/wpt/tests/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html new file mode 100644 index 00000000000..a2dfbb3f77e --- /dev/null +++ b/tests/wpt/tests/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-001.html @@ -0,0 +1,59 @@ + + + +CSS Text Decoration Test: Invalidation of text decorations in css-pseudo ::selection + + + + + + + + + + +
    +There should be no sign of decorations when the test completes. +
    +
    +There should be decorations when the test completes. +
    + + + diff --git a/tests/wpt/tests/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html b/tests/wpt/tests/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html new file mode 100644 index 00000000000..2abe8c62140 --- /dev/null +++ b/tests/wpt/tests/css/css-text-decor/invalidation/selection-pseudo-with-decoration-invalidation-002.html @@ -0,0 +1,53 @@ + + + +CSS Text Decoration Test: Invalidation of text decorations in css-pseudo ::selection + + + + + + + + + + +
    +This is one line of text, with an image underneath. +
    + +
    +And another line of text. +
    + + + diff --git a/tests/wpt/tests/css/css-text-decor/reference/text-decoration-thickness-non-inherit-ref.html b/tests/wpt/tests/css/css-text-decor/reference/text-decoration-thickness-non-inherit-ref.html new file mode 100644 index 00000000000..ae383f9e514 --- /dev/null +++ b/tests/wpt/tests/css/css-text-decor/reference/text-decoration-thickness-non-inherit-ref.html @@ -0,0 +1,13 @@ + + + + + Non-reference case for text-decoration-thickness inheritance + + + +

    Test passes if this text decoration underline is not 20px thick.

    + + diff --git a/tests/wpt/tests/css/css-text-decor/text-decoration-thickness-non-inherit.html b/tests/wpt/tests/css/css-text-decor/text-decoration-thickness-non-inherit.html new file mode 100644 index 00000000000..c0aabdfde2d --- /dev/null +++ b/tests/wpt/tests/css/css-text-decor/text-decoration-thickness-non-inherit.html @@ -0,0 +1,19 @@ + + + + + Test case for text-decoration-thickness inheritance + + + + + + + + +

    Test passes if this text decoration underline is not 20px thick.

    + + diff --git a/tests/wpt/tests/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html b/tests/wpt/tests/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html new file mode 100644 index 00000000000..a2dd69f3a47 --- /dev/null +++ b/tests/wpt/tests/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html @@ -0,0 +1,22 @@ + + + +CSS Test: hanging-punctuation - first, U+3000 + + + + + + +

    Test passes if the up and down arrows below are aligned. + +

     ↓
    +
    diff --git a/tests/wpt/tests/css/css-text/hanging-punctuation/reference/hanging-punctuation-first-002-ref.html b/tests/wpt/tests/css/css-text/hanging-punctuation/reference/hanging-punctuation-first-002-ref.html new file mode 100644 index 00000000000..5f2070fdf50 --- /dev/null +++ b/tests/wpt/tests/css/css-text/hanging-punctuation/reference/hanging-punctuation-first-002-ref.html @@ -0,0 +1,16 @@ + + + +CSS Test reference + + + +

    Test passes if the up and down arrows below are aligned. + +

    +
    diff --git a/tests/wpt/tests/css/css-text/parsing/hyphenate-character-invalid.html b/tests/wpt/tests/css/css-text/parsing/hyphenate-character-invalid.html index 52801e6eb15..29351085bb5 100644 --- a/tests/wpt/tests/css/css-text/parsing/hyphenate-character-invalid.html +++ b/tests/wpt/tests/css/css-text/parsing/hyphenate-character-invalid.html @@ -4,7 +4,7 @@ CSS Text Module Test: parsing hyphenate-character with invalid values - + @@ -12,6 +12,7 @@ diff --git a/tests/wpt/tests/css/css-text/parsing/text-autospace-valid.html b/tests/wpt/tests/css/css-text/parsing/text-autospace-valid.html index c40c0e0a4ce..903da683074 100644 --- a/tests/wpt/tests/css/css-text/parsing/text-autospace-valid.html +++ b/tests/wpt/tests/css/css-text/parsing/text-autospace-valid.html @@ -23,6 +23,40 @@ test_valid_value("text-autospace", "punctuation"); test_valid_value("text-autospace", "punctuation normal"); test_valid_value("text-autospace", "punctuation ideograph-alpha"); test_valid_value("text-autospace", "punctuation ideograph-alpha ideograph-numeric"); + +test_valid_value("text-autospace", "ideograph-alpha insert"); +test_valid_value("text-autospace", "ideograph-numeric insert"); +test_valid_value("text-autospace", "ideograph-alpha ideograph-numeric insert"); + +test_valid_value("text-autospace", "punctuation insert"); +test_valid_value("text-autospace", "punctuation normal insert"); +test_valid_value("text-autospace", "punctuation ideograph-alpha insert"); + +test_valid_value("text-autospace", "insert ideograph-alpha"); +test_valid_value("text-autospace", "insert ideograph-numeric"); +test_valid_value("text-autospace", "insert ideograph-alpha ideograph-numeric"); + +test_valid_value("text-autospace", "insert punctuation"); +test_valid_value("text-autospace", "insert punctuation normal"); +test_valid_value("text-autospace", "insert punctuation ideograph-alpha"); +test_valid_value("text-autospace", "insert punctuation ideograph-alpha ideograph-numeric"); + +test_valid_value("text-autospace", "ideograph-alpha replace"); +test_valid_value("text-autospace", "ideograph-numeric replace"); +test_valid_value("text-autospace", "ideograph-alpha ideograph-numeric replace"); + +test_valid_value("text-autospace", "punctuation replace"); +test_valid_value("text-autospace", "punctuation normal replace"); +test_valid_value("text-autospace", "punctuation ideograph-alpha replace"); + +test_valid_value("text-autospace", "replace ideograph-alpha"); +test_valid_value("text-autospace", "replace ideograph-numeric"); +test_valid_value("text-autospace", "replace ideograph-alpha ideograph-numeric"); + +test_valid_value("text-autospace", "replace punctuation"); +test_valid_value("text-autospace", "replace punctuation normal"); +test_valid_value("text-autospace", "replace punctuation ideograph-alpha"); +test_valid_value("text-autospace", "replace punctuation ideograph-alpha ideograph-numeric"); diff --git a/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-computed.html b/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-computed.html new file mode 100644 index 00000000000..33a845fb9e7 --- /dev/null +++ b/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-computed.html @@ -0,0 +1,25 @@ + + + + +CSS Text: getComputedStyle().textSpacingTrim + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-invalid.html b/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-invalid.html new file mode 100644 index 00000000000..f63ae0df427 --- /dev/null +++ b/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-invalid.html @@ -0,0 +1,20 @@ + + + + +CSS Text Module Test: parsing text-spacing-trim with invalid values + + + + + + + + + diff --git a/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-valid.html b/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-valid.html new file mode 100644 index 00000000000..2fc258adb6d --- /dev/null +++ b/tests/wpt/tests/css/css-text/parsing/text-spacing-trim-valid.html @@ -0,0 +1,24 @@ + + + + +CSS Text Module Test: parsing text-spacing-trim with valid values + + + + + + + + + diff --git a/tests/wpt/tests/css/css-text/parsing/text-wrap-invalid.html b/tests/wpt/tests/css/css-text/parsing/text-wrap-invalid.html index 6e8a5808503..b67cecc1830 100644 --- a/tests/wpt/tests/css/css-text/parsing/text-wrap-invalid.html +++ b/tests/wpt/tests/css/css-text/parsing/text-wrap-invalid.html @@ -5,20 +5,19 @@ CSS Text Module Test: parsing text-wrap with invalid values - + diff --git a/tests/wpt/tests/css/css-text/parsing/text-wrap-valid.html b/tests/wpt/tests/css/css-text/parsing/text-wrap-valid.html index 6be9e74ea34..d9ff34eee20 100644 --- a/tests/wpt/tests/css/css-text/parsing/text-wrap-valid.html +++ b/tests/wpt/tests/css/css-text/parsing/text-wrap-valid.html @@ -5,7 +5,7 @@ CSS Text Module Test: parsing text-wrap with valid values - + @@ -14,9 +14,30 @@ diff --git a/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-computed.html b/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-computed.html deleted file mode 100644 index b12922924ad..00000000000 --- a/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-computed.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -CSS Text: getComputedStyle().wordBoundaryDetection - - - - - - - -
    - - - diff --git a/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-invalid.html b/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-invalid.html deleted file mode 100644 index a844566b8ca..00000000000 --- a/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-invalid.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -CSS Text Module Test: parsing word-boundary-detection with invalid values - - - - - - - - - - diff --git a/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-valid.html b/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-valid.html deleted file mode 100644 index 81a8ea32b99..00000000000 --- a/tests/wpt/tests/css/css-text/parsing/word-boundary-detection-valid.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - -CSS Text Module Test: parsing word-boundary-detection with valid values - - - - - - - - - - diff --git a/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-computed.html b/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-computed.html deleted file mode 100644 index 054a298ae78..00000000000 --- a/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-computed.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -CSS Text: getComputedStyle().wordBoundaryExpansion - - - - - - - -
    - - - diff --git a/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-invalid.html b/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-invalid.html deleted file mode 100644 index 6b68e578d4d..00000000000 --- a/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-invalid.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -CSS Text Module Test: parsing word-boundary-expansion with invalid values - - - - - - - - - - diff --git a/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-valid.html b/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-valid.html deleted file mode 100644 index cf1128a5f72..00000000000 --- a/tests/wpt/tests/css/css-text/parsing/word-boundary-expansion-valid.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - -CSS Text Module Test: parsing word-boundary-expansion with valid values - - - - - - - - - - diff --git a/tests/wpt/tests/css/css-text/parsing/word-break-invalid.html b/tests/wpt/tests/css/css-text/parsing/word-break-invalid.html index 46456b677d8..91b4a8ec479 100644 --- a/tests/wpt/tests/css/css-text/parsing/word-break-invalid.html +++ b/tests/wpt/tests/css/css-text/parsing/word-break-invalid.html @@ -4,7 +4,7 @@ CSS Text Module Test: parsing word-break with invalid values - + diff --git a/tests/wpt/tests/css/css-text/parsing/word-break-valid.html b/tests/wpt/tests/css/css-text/parsing/word-break-valid.html index 40015d9dd36..93c58e8557d 100644 --- a/tests/wpt/tests/css/css-text/parsing/word-break-valid.html +++ b/tests/wpt/tests/css/css-text/parsing/word-break-valid.html @@ -4,7 +4,7 @@ CSS Text Module Test: parsing word-break with valid values - + @@ -12,10 +12,11 @@ diff --git a/tests/wpt/tests/css/css-text/parsing/word-space-transform-computed.html b/tests/wpt/tests/css/css-text/parsing/word-space-transform-computed.html new file mode 100644 index 00000000000..2137305cec8 --- /dev/null +++ b/tests/wpt/tests/css/css-text/parsing/word-space-transform-computed.html @@ -0,0 +1,22 @@ + + + + +CSS Text: getComputedStyle().wordSpaceTransform + + + + + + + +
    + + + diff --git a/tests/wpt/tests/css/css-text/parsing/word-space-transform-invalid.html b/tests/wpt/tests/css/css-text/parsing/word-space-transform-invalid.html new file mode 100644 index 00000000000..049bf1d0da8 --- /dev/null +++ b/tests/wpt/tests/css/css-text/parsing/word-space-transform-invalid.html @@ -0,0 +1,22 @@ + + + + +CSS Text Module Test: parsing word-space-transform with invalid values + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-text/parsing/word-space-transform-valid.html b/tests/wpt/tests/css/css-text/parsing/word-space-transform-valid.html new file mode 100644 index 00000000000..2323931f531 --- /dev/null +++ b/tests/wpt/tests/css/css-text/parsing/word-space-transform-valid.html @@ -0,0 +1,23 @@ + + + + +CSS Text Module Test: parsing word-space-transform with valid values + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-text/support/get-char-advances.js b/tests/wpt/tests/css/css-text/support/get-char-advances.js new file mode 100644 index 00000000000..846a39a2b76 --- /dev/null +++ b/tests/wpt/tests/css/css-text/support/get-char-advances.js @@ -0,0 +1,25 @@ +'use strict'; + +/** + * Returns an array of advances (widths) for all characters in the descendants + * of the specified element. + */ +function getCharAdvances(element) { + const range = document.createRange(); + let advances = []; + for (const node of element.childNodes) { + const nodeType = node.nodeType; + if (nodeType === Node.TEXT_NODE) { + const text = node.nodeValue; + for (let i = 0; i < text.length; ++i) { + range.setStart(node, i); + range.setEnd(node, i + 1); + const bounds = range.getBoundingClientRect(); + advances.push(bounds.width); + } + } else if (nodeType === Node.ELEMENT_NODE) { + advances = advances.concat(getCharAdvances(node)); + } + } + return advances; +} diff --git a/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1-ref.html b/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1-ref.html index 7623adb59e6..e154e0ca626 100644 --- a/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1-ref.html +++ b/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1-ref.html @@ -3,9 +3,11 @@ CSS Text Test: minimum rendered width of tab character + @@ -17,16 +19,16 @@ let pre = document.getElementsByTagName("pre")[0]; let test = ""; for (i = 7.0; i <= 8.125; i += 0.125) { - test += `${i}ch\n`; + test += `${i}ch\n`; } pre.innerHTML = test; pre = document.getElementsByTagName("pre")[1]; test = ""; for (i = 0; i < 5; i++) { - test += `\tfoo\n`; + test += `\tfoo\n`; } for (i = 0; i < 5; i++) { - test += `\t\tfoo\n`; + test += `\t\tfoo\n`; } pre.innerHTML = test; diff --git a/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1.html b/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1.html index 6b014260e36..e4cd2afaf1f 100644 --- a/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1.html +++ b/tests/wpt/tests/css/css-text/tab-size/tab-min-rendered-width-1.html @@ -7,9 +7,13 @@ + @@ -19,7 +23,7 @@ let pre = document.getElementsByTagName("pre")[0]; let test = ""; for (i = 7.0; i <= 8.125; i += 0.125) { - test += `${i}ch foo\n`; + test += `${i}ch foo\n`; } pre.innerHTML = test; diff --git a/tests/wpt/tests/css/css-text/tab-size/tab-size-integer-005-ref.html b/tests/wpt/tests/css/css-text/tab-size/tab-size-integer-005-ref.html new file mode 100644 index 00000000000..3e0a04b957f --- /dev/null +++ b/tests/wpt/tests/css/css-text/tab-size/tab-size-integer-005-ref.html @@ -0,0 +1,28 @@ + + + +CSS Text Reference + + + +

    Test passes if the two black squares below are vertically aligned. + +

            E
    +
            E
    diff --git a/tests/wpt/tests/css/css-text/tab-size/tab-size-integer-005.html b/tests/wpt/tests/css/css-text/tab-size/tab-size-integer-005.html new file mode 100644 index 00000000000..a58e4ea23a7 --- /dev/null +++ b/tests/wpt/tests/css/css-text/tab-size/tab-size-integer-005.html @@ -0,0 +1,33 @@ + + + +CSS Text Test: tab-size + + + + + + +

    Test passes if the two black squares below are vertically aligned. + +

      E
    +
            E
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-001.html new file mode 100644 index 00000000000..40a98861ad9 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-001.html @@ -0,0 +1,49 @@ + + + + + + + + +
    +
    国国XX国
    +
    国。XX国
    +
    国国XX国
    +
    国。XX国
    +
    国国11国
    +
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-break-001-ref.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-break-001-ref.html new file mode 100644 index 00000000000..80c82714c3a --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-break-001-ref.html @@ -0,0 +1,19 @@ + + + + +
    +
    国国国国
    X国
    +
    国国国国
    1国
    +
    XXXX
    国X
    +
    1111
    国1
    +
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-break-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-break-001.html new file mode 100644 index 00000000000..337d3c7624f --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-break-001.html @@ -0,0 +1,21 @@ + + + + + + +
    +
    国国国国X国
    +
    国国国国1国
    +
    XXXX国X
    +
    1111国1
    +
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-001.html new file mode 100644 index 00000000000..db718eca8da --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-001.html @@ -0,0 +1,16 @@ + + + + + + +
    国国AA国国AA国国
    +
    国国AA国国AA国国
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-001-ref.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-001-ref.html new file mode 100644 index 00000000000..d26fae09b03 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-001-ref.html @@ -0,0 +1,2 @@ + +
    国国AA国国AA国々
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-001.html new file mode 100644 index 00000000000..dfde20a265a --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-001.html @@ -0,0 +1,11 @@ + + + +
    国国
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-002.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-002.html new file mode 100644 index 00000000000..ffc3d907ee5 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-002.html @@ -0,0 +1,9 @@ + + + +
    国国国国
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-003.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-003.html new file mode 100644 index 00000000000..cf2237d48ef --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-003.html @@ -0,0 +1,9 @@ + + + +
    国国国国国
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-004.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-004.html new file mode 100644 index 00000000000..c1057fc9005 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-dynamic-text-004.html @@ -0,0 +1,11 @@ + + + +
    国国AAAA国国AAAA国国
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-first-line-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-first-line-001.html new file mode 100644 index 00000000000..7294856b8f6 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-first-line-001.html @@ -0,0 +1,25 @@ + + + + + + + + +
    +
    国国XX国
    国国XX国
    +
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-ligature-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-ligature-001.html new file mode 100644 index 00000000000..0d431f65d6d --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-ligature-001.html @@ -0,0 +1,87 @@ + + + + + + +
    +
    国fi
    +
    fi国
    +
    国fi国
    +
    + diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001-mismatch-ref.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001-mismatch-ref.html new file mode 100644 index 00000000000..b249fd63c67 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001-mismatch-ref.html @@ -0,0 +1,4 @@ + + +
    国国AA国国AA国国
    +
    国国AA国国AA国国
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001-ref.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001-ref.html new file mode 100644 index 00000000000..e7064057723 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001-ref.html @@ -0,0 +1,4 @@ + + +
    国国AA国国AA国国
    +
    国国​AA​国国​AA​国国
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001.html new file mode 100644 index 00000000000..6b5fd6132d8 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-no-001.html @@ -0,0 +1,10 @@ + + + + + + +
    国国AA国国AA国国
    +
    国国AA国国AA国国
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-combine-001-ref.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-combine-001-ref.html new file mode 100644 index 00000000000..36c1cb45a1e --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-combine-001-ref.html @@ -0,0 +1,18 @@ + + + +
    +
    XX
    +
    11
    +
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-combine-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-combine-001.html new file mode 100644 index 00000000000..bed306e1597 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-combine-001.html @@ -0,0 +1,17 @@ + + + + + +
    +
    XX
    +
    11
    +
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-upright-001-ref.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-upright-001-ref.html new file mode 100644 index 00000000000..1c9caec112a --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-upright-001-ref.html @@ -0,0 +1,20 @@ + + + +
    +
    国X国
    +
    国1国
    +
    X
    +
    1
    +
    diff --git a/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-upright-001.html b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-upright-001.html new file mode 100644 index 00000000000..21d454e7133 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-autospace/text-autospace-vertical-upright-001.html @@ -0,0 +1,19 @@ + + + + + +
    +
    国X国
    +
    国1国
    +
    X
    +
    1
    +
    diff --git a/tests/wpt/tests/css/css-text/text-indent/text-indent-overflow.html b/tests/wpt/tests/css/css-text/text-indent/text-indent-overflow.html index c8678bf8aa8..faefbf628f8 100644 --- a/tests/wpt/tests/css/css-text/text-indent/text-indent-overflow.html +++ b/tests/wpt/tests/css/css-text/text-indent/text-indent-overflow.html @@ -4,7 +4,6 @@ - +
    + +
    国(
    +
    国(((
    +
    国()国
    +
    国(・国
    +
    国( 国
    + +
    国)
    +
    )国
    +
    )))国
    +
    ・国
    +
     国
    + +
    国・
    +
    国・・国
    +
    国・)国
    +
    国 
    +
    国  国
    +
    国 )国
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-colon-001-ref.html b/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-colon-001-ref.html new file mode 100644 index 00000000000..f36743fd1c6 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-colon-001-ref.html @@ -0,0 +1,121 @@ + + + + +
    +
    + + + +
    国:
    +
    国:)国
    +
    国:・国
    +
    国: 国
    + +
    国(:国
    +
    :国
    +
    国・:国
    +
    国 :国
    + + +
    国;
    +
    国;)国
    +
    国;・国
    +
    国; 国
    + +
    国(;国
    +
    ;国
    +
    国・;国
    +
    国 ;国
    +
    +
    + + +
    + + + +
    国:
    +
    )国
    +
    ・国
    +
     国
    + +
    国(:国
    +
    :国
    +
    国・:国
    +
    国 :国
    + +
    国;
    +
    )国
    +
    ・国
    +
     国
    + +
    国(;国
    +
    ;国
    +
    国・;国
    +
    国 ;国
    +
    +
    + + +
    + + + +
    国:
    +
    国:)国
    +
    国:・国
    +
    国: 国
    + +
    国(:国
    +
    :国
    +
    国・:国
    +
    国 :国
    + +
    国;
    +
    国;)国
    +
    国;・国
    +
    国; 国
    + +
    国(;国
    +
    ;国
    +
    国・;国
    +
    国 ;国
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-dot-001-ref.html b/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-dot-001-ref.html new file mode 100644 index 00000000000..acbf37f2506 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-dot-001-ref.html @@ -0,0 +1,78 @@ + + + + +
    +
    + +
    国。
    +
    )国
    +
    ・国
    +
     国
    + +
    国(。国
    +
    。国
    +
    国・。国
    +
    国 。国
    +
    + + +
    + +
    国。
    +
    )国
    +
    ・国
    +
     国
    + +
    国(。国
    +
    。国
    +
    国・。国
    +
    国 。国
    +
    + + +
    + +
    国。
    +
    国。)国
    +
    国。・国
    +
    国。 国
    + +
    国(。国
    +
    。国
    +
    国・。国
    +
    国 。国
    +
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-trim-all-001-ref.html b/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-trim-all-001-ref.html new file mode 100644 index 00000000000..d541fcc5f81 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/reference/text-spacing-trim-trim-all-001-ref.html @@ -0,0 +1,32 @@ + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/support/variant-class.js b/tests/wpt/tests/css/css-text/text-spacing-trim/support/variant-class.js new file mode 100644 index 00000000000..d1ca547cfd7 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/support/variant-class.js @@ -0,0 +1,13 @@ +'use strict'; + +/** + * Add `class` search params to the `class` attribute of the root element. + */ +if (window.location.search) { + const params = new URLSearchParams(window.location.search); + if (params.has('class')) { + const values = params.getAll('class') + .flatMap(value => value.split(',')); + document.documentElement.classList.add(...values); + } +} diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-001.html new file mode 100644 index 00000000000..28f11c62261 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-001.html @@ -0,0 +1,50 @@ + + + + + + + + + + +
    + +
    国((国
    +
    国(((国
    +
    国()国
    +
    国(・国
    +
    国( 国
    + +
    国)(国
    +
    国))国
    +
    国)))国
    +
    国)・国
    +
    国) 国
    + +
    国・(国
    +
    国・・国
    +
    国・)国
    +
    国 (国
    +
    国  国
    +
    国 )国
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-colon-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-colon-001.html new file mode 100644 index 00000000000..31df6093b95 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-colon-001.html @@ -0,0 +1,117 @@ + + + + + + + + + + +
    +
    + +
    国:(国
    +
    国:)国
    +
    国:・国
    +
    国: 国
    + +
    国(:国
    +
    国):国
    +
    国・:国
    +
    国 :国
    + +
    国;(国
    +
    国;)国
    +
    国;・国
    +
    国; 国
    + +
    国(;国
    +
    国);国
    +
    国・;国
    +
    国 ;国
    +
    + + +
    + +
    国:(国
    +
    国:)国
    +
    国:・国
    +
    国: 国
    + +
    国(:国
    +
    国):国
    +
    国・:国
    +
    国 :国
    + +
    国;(国
    +
    国;)国
    +
    国;・国
    +
    国; 国
    + +
    国(;国
    +
    国);国
    +
    国・;国
    +
    国 ;国
    +
    + + +
    + +
    国:(国
    +
    国:)国
    +
    国:・国
    +
    国: 国
    + +
    国(:国
    +
    国):国
    +
    国・:国
    +
    国 :国
    + +
    国;(国
    +
    国;)国
    +
    国;・国
    +
    国; 国
    + +
    国(;国
    +
    国);国
    +
    国・;国
    +
    国 ;国
    +
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-combinations-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-combinations-001.html new file mode 100644 index 00000000000..4b49e64323a --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-combinations-001.html @@ -0,0 +1,41 @@ + + + + + + + +
    +
    国((国
    +
    国・(国
    +
    国)(国
    +
    国 (国
    +
    国))国
    +
    国)・国
    +
    国) 国
    +
    国(((国
    +
    国)))国
    +
    + diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-dot-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-dot-001.html new file mode 100644 index 00000000000..4ce1e047771 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-dot-001.html @@ -0,0 +1,87 @@ + + + + + + + + + + +
    +
    + +
    国。(国
    +
    国。)国
    +
    国。・国
    +
    国。 国
    + +
    国(。国
    +
    国)。国
    +
    国・。国
    +
    国 。国
    +
    + + +
    + +
    国。(国
    +
    国。)国
    +
    国。・国
    +
    国。 国
    + +
    国(。国
    +
    国)。国
    +
    国・。国
    +
    国 。国
    +
    + + +
    + +
    国。(国
    +
    国。)国
    +
    国。・国
    +
    国。 国
    + +
    国(。国
    +
    国)。国
    +
    国・。国
    +
    国 。国
    +
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-dynamic-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-dynamic-001.html new file mode 100644 index 00000000000..3fc949efd1c --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-dynamic-001.html @@ -0,0 +1,41 @@ + + + + + + + + +
    +
    国)(国国((国(国
    +
    + diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-space-all-001-ref.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-space-all-001-ref.html new file mode 100644 index 00000000000..d33e3b62edd --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-space-all-001-ref.html @@ -0,0 +1,20 @@ + + + +
    +
    国国国国国国国国国国
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-space-all-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-space-all-001.html new file mode 100644 index 00000000000..20e59c5a01a --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-space-all-001.html @@ -0,0 +1,32 @@ + + + + + + + + +
    +
    国)(国国((国(国
    +
    diff --git a/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-trim-all-001.html b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-trim-all-001.html new file mode 100644 index 00000000000..daec2fc4d23 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-spacing-trim/text-spacing-trim-trim-all-001.html @@ -0,0 +1,38 @@ + + + + + + + + + + +
    +
    国(国
    +
    国)国
    +
    国、国
    +
    国・国
    +
    国。国
    +
    国「国
    +
    国」国
    +
    diff --git a/tests/wpt/tests/css/css-text/text-transform/reference/text-transform-full-size-kana-008-ref.html b/tests/wpt/tests/css/css-text/text-transform/reference/text-transform-full-size-kana-008-ref.html new file mode 100644 index 00000000000..42fc5104acc --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-transform/reference/text-transform-full-size-kana-008-ref.html @@ -0,0 +1,27 @@ + + +CSS Text level 3 Reference: Unicode 15 kana and text-transform: full-size-kana + + + + +

    Test passes if the characters in the second column are +the same shape and size as those in the rightmost column, +not small as those in the leftmost column.
    +Any missing glyph should be ignored as long as it is missing in both the second and the rightmost column. + + +
    𛄲こ +
    𛅐ゐ +
    𛅑ゑ +
    𛅒を +
    𛅕コ +
    𛅤ヰ +
    𛅥ヱ +
    𛅦ヲ +
    𛅧ン +
    diff --git a/tests/wpt/tests/css/css-text/text-transform/text-transform-capitalize-035-ref.html b/tests/wpt/tests/css/css-text/text-transform/text-transform-capitalize-035-ref.html new file mode 100644 index 00000000000..7993386715d --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-transform/text-transform-capitalize-035-ref.html @@ -0,0 +1,57 @@ + + +CSS Test reference + + +

    +The test passes if, +in each pair of words below, +the same letters are upper or lower case. + +

    + Cancel·lar + Cancel·lar +
    + +
    + Agiuda·nos + Agiuda·nos +
    + +
    + In·hèrn + In·hèrn +
    + +
    + G·eografia + G·eografia +
    + +
    + Ag·rouée + Ag·rouée +
    + +
    + Un·e Député·e + Un·e Député·e +
    + + + diff --git a/tests/wpt/tests/css/css-text/text-transform/text-transform-capitalize-035.html b/tests/wpt/tests/css/css-text/text-transform/text-transform-capitalize-035.html new file mode 100644 index 00000000000..8b979ab2d80 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-transform/text-transform-capitalize-035.html @@ -0,0 +1,66 @@ + + +CSS Test: text-transform treatment of + + + + + +

    +The test passes if, +in each pair of words below, +the same letters are upper or lower case. + +

    + cancel·lar + Cancel·lar +
    + +
    + agiuda·nos + Agiuda·nos +
    + +
    + in·hèrn + In·hèrn +
    + +
    + g·eografia + G·eografia +
    + +
    + ag·rouée + Ag·rouée +
    + +
    + un·e député·e + Un·e Député·e +
    + + + diff --git a/tests/wpt/tests/css/css-text/text-transform/text-transform-full-size-kana-008.html b/tests/wpt/tests/css/css-text/text-transform/text-transform-full-size-kana-008.html new file mode 100644 index 00000000000..5b1cdde7b39 --- /dev/null +++ b/tests/wpt/tests/css/css-text/text-transform/text-transform-full-size-kana-008.html @@ -0,0 +1,29 @@ + + +CSS Text level 3 Test: Unicode 15 kana and text-transform: full-size-kana + + + + + + +

    Test passes if the characters in the second column are +the same shape and size as those in the rightmost column, +not small as those in the leftmost column.
    +Any missing glyph should be ignored as long as it is missing in both the second and the rightmost column. + + +
    𛄲𛄲こ +
    𛅐𛅐ゐ +
    𛅑𛅑ゑ +
    𛅒𛅒を +
    𛅕𛅕コ +
    𛅤𛅤ヰ +
    𛅥𛅥ヱ +
    𛅦𛅦ヲ +
    𛅧𛅧ン +
    diff --git a/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-001-ref.html b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-001-ref.html new file mode 100644 index 00000000000..0e3e5c79677 --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-001-ref.html @@ -0,0 +1,16 @@ + + + +

    FLOAT
    FLOAT
    abc de fg
    hij klm
    nop qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-002-ref.html b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-002-ref.html new file mode 100644 index 00000000000..fc068905f2f --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-002-ref.html @@ -0,0 +1,16 @@ + + + +
    FLOAT
    FLOAT
    abc de fg
    hij klm
    nop qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-005-ref.html b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-005-ref.html new file mode 100644 index 00000000000..b28426f5754 --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-balance-float-005-ref.html @@ -0,0 +1,22 @@ + + + +
    FLOAT
    FLOAT
    abcde fghi
    jklm nop
    FLOAT
    FLOAT

    qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht b/tests/wpt/tests/css/css-text/white-space/reference/white-space-collapse-discard-001-ref.xht similarity index 87% rename from tests/wpt/tests/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht rename to tests/wpt/tests/css/css-text/white-space/reference/white-space-collapse-discard-001-ref.xht index b07483773f1..02649bebce0 100644 --- a/tests/wpt/tests/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht +++ b/tests/wpt/tests/css/css-text/white-space/reference/white-space-collapse-discard-001-ref.xht @@ -2,7 +2,7 @@ - CSS Test: text-space-collapse - discard - basic cases Reftest Reference + CSS Test: white-space-collapse - discard - basic cases Reftest Reference + +
    FLOAT
    FLOAT
    abc de fg hij klm nop qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-002.html b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-002.html new file mode 100644 index 00000000000..b611b8d7964 --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-002.html @@ -0,0 +1,19 @@ + + + + + +
    FLOAT
    FLOAT
    abc de fg hij klm nop qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-003.html b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-003.html new file mode 100644 index 00000000000..b2a4c7a43b3 --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-003.html @@ -0,0 +1,19 @@ + + + + + +
    abc de
    FLOAT
    FLOAT
    fg hij klm nop qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-004.html b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-004.html new file mode 100644 index 00000000000..b39f329255c --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-004.html @@ -0,0 +1,19 @@ + + + + + +
    abc de
    FLOAT
    FLOAT
    fg hij klm nop qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-005.html b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-005.html new file mode 100644 index 00000000000..177be0e10ac --- /dev/null +++ b/tests/wpt/tests/css/css-text/white-space/text-wrap-balance-float-005.html @@ -0,0 +1,41 @@ + + + + + + +
    FLOAT
    FLOAT
    abcde fghi jklm nop
    FLOAT
    FLOAT
    qrst uvw xyz!
    diff --git a/tests/wpt/tests/css/css-text/white-space/text-space-collapse-discard-001.xht b/tests/wpt/tests/css/css-text/white-space/white-space-collapse-discard-001.xht similarity index 69% rename from tests/wpt/tests/css/css-text/white-space/text-space-collapse-discard-001.xht rename to tests/wpt/tests/css/css-text/white-space/white-space-collapse-discard-001.xht index 4216b6292c3..dc7e5e5708a 100644 --- a/tests/wpt/tests/css/css-text/white-space/text-space-collapse-discard-001.xht +++ b/tests/wpt/tests/css/css-text/white-space/white-space-collapse-discard-001.xht @@ -2,15 +2,15 @@ - CSS Test: text-space-collapse - discard - basic cases + CSS Test: white-space-collapse - discard - basic cases - - - + + + - -

    Test passes if the two boxes below are different. - -

    กรุงเทพคือสวยงาม
    -
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-106-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-106-ref.html deleted file mode 100644 index 04d54ca20a8..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-106-ref.html +++ /dev/null @@ -1,17 +0,0 @@ - - -Test reference - - - -

    Test passes if the two boxes below are identical. - -

    กรุงเทพคือสวยงาม
    -
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-109-a-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-109-a-ref.html deleted file mode 100644 index 3cf81f6175d..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-109-a-ref.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Test reference - - - -

    Test passes if the black box is identical to either the blue or orange one. - -

    -
    東京へ行きましょう。
    -
    -
    -
    東京へ行きましょう。
    -
    -
    -
    東京行きましょう。
    -
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-109-b-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-109-b-ref.html deleted file mode 100644 index 3b787b91581..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-109-b-ref.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Test reference - - - -

    Test passes if the black box is identical to either the blue or orange one. - -

    -
    東京へ行きましょう。
    -
    -
    -
    東京行きましょう。
    -
    -
    -
    東京行きましょう。
    -
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-111-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-111-ref.html deleted file mode 100644 index fbb536e5659..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-111-ref.html +++ /dev/null @@ -1,32 +0,0 @@ - - -Test reference - - - - - -

    Test passes if the black box is identical to either the blue one. - -

    -
    กรุงเทพคือสวยงาม
    -
    -
    -
    กรุงเทพคือสวยงาม
    -
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-125-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-125-ref.html deleted file mode 100644 index aad7d3d4d95..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-125-ref.html +++ /dev/null @@ -1,17 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - -

    Test passes if the two boxes below are identical. - -

    東京! へ! 行きましょう。
    -
    東京! へ! 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-126-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-126-ref.html deleted file mode 100644 index 91f2ec7b193..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-126-ref.html +++ /dev/null @@ -1,17 +0,0 @@ - - -Test reference - - - -

    Test passes if the two boxes below are identical. - -

    東京 (へ (行きましょう。
    -
    東京 (へ (行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-127-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-127-ref.html deleted file mode 100644 index b354a4f12dc..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-127-ref.html +++ /dev/null @@ -1,17 +0,0 @@ - - -Test reference - - - -

    Test passes if the two boxes below are identical. - -

    東京% へ% 行きましょう。
    -
    東京% へ% 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-128-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-128-ref.html deleted file mode 100644 index 8dcabb01e29..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-128-ref.html +++ /dev/null @@ -1,17 +0,0 @@ - - -Test reference - - - -

    Test passes if the two boxes below are identical. - -

    東京‼ へ‼ 行きましょう。
    -
    東京‼ へ‼ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-129-ref.html b/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-129-ref.html deleted file mode 100644 index 5d7d5577aec..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-129-ref.html +++ /dev/null @@ -1,17 +0,0 @@ - - -Test reference - - - -

    Test passes if the two boxes below are identical. - -

    東京 $へ $行きましょう。
    -
    東京 $へ $行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-105.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-105.html deleted file mode 100644 index fa991221e52..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-105.html +++ /dev/null @@ -1,31 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(th) mistagged - - - - - - -

    Test passes if the two boxes below are different. - -

    -
    กรุงเทพคือสวยงาม
    -
    -
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-106.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-106.html deleted file mode 100644 index a968af77672..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-106.html +++ /dev/null @@ -1,31 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(th) untagged - - - - - - -

    Test passes if the two boxes below are identical. - -

    -
    กรุงเทพคือสวยงาม
    -
    -
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-107.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-107.html deleted file mode 100644 index 591c1afb8d4..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-107.html +++ /dev/null @@ -1,27 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(ja) mistagged - - - - - - -

    Test passes if the two boxes below are identical. - -

    -
    東京へ行きましょう。
    -
    -
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-108.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-108.html deleted file mode 100644 index c23a6fe2b2b..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-108.html +++ /dev/null @@ -1,27 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(ja) untagged - - - - - - -

    Test passes if the two boxes below are identical. - -

    -
    東京へ行きましょう。
    -
    -
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-109.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-109.html deleted file mode 100644 index c5694cc153f..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-109.html +++ /dev/null @@ -1,46 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(ja) and line breaking - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the black box is identical to either the blue or orange one. - -

    -
    東京へ行きましょう。
    -
    -
    -
    東京へ行きましょう。
    -
    -
    -
    東京行きましょう。
    -
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-110.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-110.html deleted file mode 100644 index bdfedf19e61..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-110.html +++ /dev/null @@ -1,38 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(ja) and expansion - - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the black box is identical to either the blue or orange one. - -

    東京へ 行きましょう。
    -
    東京へ行きましょう。
    -
    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-111.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-111.html deleted file mode 100644 index d2d3df27085..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-111.html +++ /dev/null @@ -1,38 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(th) and line breaking - - - - - - - - -

    Test passes if the black box is identical to either the blue one. - -

    -
    กรุงเทพคือสวยงาม
    -
    -
    -
    กรุงเทพคือสวยงาม
    -
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-112.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-112.html deleted file mode 100644 index 73c2763d836..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-112.html +++ /dev/null @@ -1,33 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto(th) and expansion - - - - - - - - -

    Test passes if the black box is identical to the blue one. - -

    กรุงเทพคือสวยงาม
    -
    กรุงเทพ คือ สวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-115.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-115.html deleted file mode 100644 index b1266c53dbd..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-115.html +++ /dev/null @@ -1,33 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京行きましょう。
    -
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-116.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-116.html deleted file mode 100644 index 4b152173b7c..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-116.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京 へ 行きましょう。
    -
    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-117.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-117.html deleted file mode 100644 index 558b6a981f0..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-117.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京 へ 行きましょう。
    -
    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-118.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-118.html deleted file mode 100644 index e20bc354105..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-118.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京​へ​行きましょう。
    -
    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-122.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-122.html deleted file mode 100644 index a9d3a999307..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-122.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京} へ} 行きましょう。
    -
    東京} へ} 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-123.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-123.html deleted file mode 100644 index bcf1f0245e8..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-123.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京) へ) 行きましょう。
    -
    東京) へ) 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-124.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-124.html deleted file mode 100644 index a4a4902ba29..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-124.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京. へ. 行きましょう。
    -
    東京. へ. 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-125.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-125.html deleted file mode 100644 index a04ec4f075c..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-125.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京! へ! 行きましょう。
    -
    東京! へ! 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-126.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-126.html deleted file mode 100644 index e4a5c6b0fb4..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-126.html +++ /dev/null @@ -1,30 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京 (へ (行きましょう。
    -
    東京 (へ (行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-127.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-127.html deleted file mode 100644 index 21f00e664b7..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-127.html +++ /dev/null @@ -1,31 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京% へ% 行きましょう。
    -
    東京% へ% 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-128.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-128.html deleted file mode 100644 index cb2d1ee4e78..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-128.html +++ /dev/null @@ -1,27 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京‼ へ‼ 行きましょう。
    -
    東京‼ へ‼ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-129.html b/tests/wpt/tests/css/css-text/word-boundary/word-boundary-129.html deleted file mode 100644 index 6e137177029..00000000000 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-129.html +++ /dev/null @@ -1,27 +0,0 @@ - - -CSS Text level 4 Test: word-boundary-detection:auto() forbidden - - - - - - - - -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). - -

    Test passes if the two boxes below are identical. - -

    東京 $へ $行きましょう。
    -
    東京 $へ $行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-001-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-001-ref.html new file mode 100644 index 00000000000..51f96868f17 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-001-ref.html @@ -0,0 +1,25 @@ + + +Test reference + + + +

    Test passes if the black box is identical to the blue one. + +

    + 東京へ行きましょう。 +
    +
    + 東京へ行きましょう。 +
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-002-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-002-ref.html new file mode 100644 index 00000000000..9f63cc951f0 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-002-ref.html @@ -0,0 +1,25 @@ + + +Test reference + + + +

    Test passes if the black box is identical to either the blue one. + +

    + กรุงเทพคือสวยงาม +
    +
    + กรุงเทพคือสวยงาม +
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-123-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-003-ref.html similarity index 53% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-123-ref.html rename to tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-003-ref.html index 35b0e5f05a7..5868eed30ad 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-123-ref.html +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-003-ref.html @@ -1,17 +1,18 @@ -Test reference +CSS test reference

    Test passes if the two boxes below are identical. -

    東京) へ) 行きましょう。
    -
    東京) へ) 行きましょう。
    +
    東京 へ 行きましょう。
    +
    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-004-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-004-ref.html new file mode 100644 index 00000000000..81d075dc119 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-004-ref.html @@ -0,0 +1,18 @@ + + +CSS test reference + + + +

    Test passes if the two boxes below are identical. + +

    東京⁠へ⁠行きましょう。
    +
    東京⁠へ⁠行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-005-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-005-ref.html new file mode 100644 index 00000000000..cecc0706375 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-005-ref.html @@ -0,0 +1,18 @@ + + +CSS test reference + + + +

    Test passes if the two boxes below are identical. + +

    東京‍へ‍行きましょう。
    +
    東京‍へ‍行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-006-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-006-ref.html new file mode 100644 index 00000000000..662351aa8ba --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-006-ref.html @@ -0,0 +1,19 @@ + + +CSS test reference + + + +

    Test passes if all boxes below are identical. + +

    consideration
    +
    consideration
    +
    consideration
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-007-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-007-ref.html new file mode 100644 index 00000000000..4a555332075 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-007-ref.html @@ -0,0 +1,16 @@ + + +CSS test reference + + + +

    Test passes if the two boxes below are identical. + +

    ま​し​ょ​う​。
    +
    ま​し​ょ​う​。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-008-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-008-ref.html new file mode 100644 index 00000000000..24f54429de8 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-008-ref.html @@ -0,0 +1,18 @@ + + +CSS test reference + + + +

    Test passes if both words bellow are hyphenated. + +

    con­sid­era­tion
    +
    con­sid­era­tion
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-009-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-009-ref.html new file mode 100644 index 00000000000..31f344c6c05 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-009-ref.html @@ -0,0 +1,16 @@ + + +CSS test reference + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命働きます
    +
    一生懸命働きます
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-001-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-001-ref.html new file mode 100644 index 00000000000..5e65b27e2e6 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-001-ref.html @@ -0,0 +1,20 @@ + + +Test reference + + + +

    Test passes if the two boxes below are identical. + +

    กรุงเทพคือสวยงาม
    + + +
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-108-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-002-ref.html similarity index 53% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-108-ref.html rename to tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-002-ref.html index 45497690fe4..9010ebb5d55 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-108-ref.html +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-002-ref.html @@ -7,11 +7,12 @@ div { font-size: 2em; border: solid blue; margin: 5px; - width: 30ch; + width: min-content; /*not 0, to avoid falling into overflow fallback behavior */ + word-break: normal; }

    Test passes if the two boxes below are identical. -

    東京へ行きましょう。
    -
    東京へ行きましょう。
    +
    กรุงเทพคือสวยงาม
    +
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-107-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-003-ref.html similarity index 64% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-107-ref.html rename to tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-003-ref.html index 2decfe1cc09..bd29d09cadf 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-107-ref.html +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-fallback-003-ref.html @@ -7,11 +7,14 @@ div { font-size: 2em; border: solid blue; margin: 5px; - width: 30ch; + width: min-content; +} +#test { + word-break: auto-phrase; }

    Test passes if the two boxes below are identical. -

    東京へ行きましょう。
    -
    東京へ行きましょう。
    +
    東京へ行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-intrinsic-001-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-intrinsic-001-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-intrinsic-001-ref.html rename to tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-intrinsic-001-ref.html diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-overflow-001-ref.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-overflow-001-ref.html similarity index 83% rename from tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-overflow-001-ref.html rename to tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-overflow-001-ref.html index d75b50d05d8..07bbb230c70 100644 --- a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-overflow-001-ref.html +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/reference/word-break-auto-phrase-overflow-001-ref.html @@ -1,7 +1,12 @@ + +

    Test passes if the black box is identical to the blue one. + +

    + 東京へ行きましょう。 +
    +
    + 東京へ行きましょう。 +
    + diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-002.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-002.html new file mode 100644 index 00000000000..c4f437e99d0 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-002.html @@ -0,0 +1,43 @@ + + +CSS Text level 4 Test: word-break: auto-phrase + + + + + + +

    Test passes if the black box is identical to either the blue one. + +

    + กรุงเทพคือสวยงาม +
    +
    + กรุงเทพคือสวยงาม +
    + + + diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-003.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-003.html new file mode 100644 index 00000000000..6ff8d959f8b --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-003.html @@ -0,0 +1,27 @@ + + +CSS Text level 4 Test: word-break auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京 へ 行きましょう。
    +
    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-004.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-004.html new file mode 100644 index 00000000000..4e455091de4 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-004.html @@ -0,0 +1,27 @@ + + +CSS Text level 4 Test: word-break: auto-phrase- forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京⁠へ⁠行きましょう。
    +
    東京⁠へ⁠行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-005.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-005.html new file mode 100644 index 00000000000..5183d3bc13d --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-005.html @@ -0,0 +1,27 @@ + + +CSS Text level 4 Test: word-break: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京‍へ‍行きましょう。
    +
    東京‍へ‍行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-006.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-006.html new file mode 100644 index 00000000000..9fca535a7a1 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-006.html @@ -0,0 +1,32 @@ + + +CSS Text level 4 Test: word-break: auto-phrase hyphenation + + + + + + +

    Test passes if all boxes below are identical. + +

    con­sid­era­tion
    +
    consideration
    +
    consideration
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-007.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-007.html new file mode 100644 index 00000000000..154fb8c447e --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-007.html @@ -0,0 +1,23 @@ + + +CSS Text level 4 Test: word-break: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    ま​し​ょ​う​。
    +
    ま​し​ょ​う​。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-008.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-008.html new file mode 100644 index 00000000000..68af0f5f190 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-008.html @@ -0,0 +1,25 @@ + + +CSS Text level 4 Test: word-break: auto-phrase hyphenation + + + + + + +

    Test passes if both words bellow are hyphenated. + +

    con­sid­era­tion
    +
    con­sid­era­tion
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-009.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-009.html new file mode 100644 index 00000000000..6f0c736183e --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-009.html @@ -0,0 +1,24 @@ + + +CSS Text level 4 Test: word-break: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命働きます
    +
    一生懸命働きます
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-001.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-001.html new file mode 100644 index 00000000000..02a33734e59 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-001.html @@ -0,0 +1,26 @@ + + +CSS Text level 4 Test: word-break:auto-phrase mistagged + + + + + + +

    Test passes if the two boxes below are identical. + +

    กรุงเทพคือสวยงาม
    + + +
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-002.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-002.html new file mode 100644 index 00000000000..e2905f1d5a7 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-002.html @@ -0,0 +1,24 @@ + + +CSS Text level 4 Test: word-break:auto-phrase untagged + + + + + + +

    Test passes if the two boxes below are identical. + +

    กรุงเทพคือสวยงาม
    +
    กรุงเทพคือสวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-003.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-003.html new file mode 100644 index 00000000000..cea15820bd1 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-fallback-003.html @@ -0,0 +1,23 @@ + + +CSS Text level 4 Test: word-break:auto-phrase untagged + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京へ行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-intrinsic-001.html b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-intrinsic-001.html index a16f9fb0b12..ebb07cf3b53 100644 --- a/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-intrinsic-001.html +++ b/tests/wpt/tests/css/css-text/word-break/auto-phrase/word-break-auto-phrase-intrinsic-001.html @@ -1,7 +1,7 @@ - + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-103.html b/tests/wpt/tests/css/css-text/word-break/word-break-normal-002.html similarity index 57% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-103.html rename to tests/wpt/tests/css/css-text/word-break/word-break-normal-002.html index 114c6f1367c..c988928eb8f 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-103.html +++ b/tests/wpt/tests/css/css-text/word-break/word-break-normal-002.html @@ -1,10 +1,11 @@ -CSS Text level 4 Test: word-boundary-detection:normal mistagged +CSS Text level 4 Test: word-break:normal mistagged - - - + + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-104.html b/tests/wpt/tests/css/css-text/word-break/word-break-normal-003.html similarity index 55% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-104.html rename to tests/wpt/tests/css/css-text/word-break/word-break-normal-003.html index a7a2f38fda1..bb6c2b477a1 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-104.html +++ b/tests/wpt/tests/css/css-text/word-break/word-break-normal-003.html @@ -1,10 +1,11 @@ -CSS Text level 4 Test: word-boundary-detection:normal untagged +CSS Text level 4 Test: word-break:normal untagged - - - + + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-102.html b/tests/wpt/tests/css/css-text/word-break/word-break-normal-th-001.html similarity index 52% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-102.html rename to tests/wpt/tests/css/css-text/word-break/word-break-normal-th-001.html index e3f9828f320..919dcc22a31 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-102.html +++ b/tests/wpt/tests/css/css-text/word-break/word-break-normal-th-001.html @@ -1,10 +1,11 @@ -CSS Text level 4 Test: word-boundary-detection:normal +CSS Text level 4 Test: word-break: normal - - - + + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-001-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-001-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-001-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-001-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-002-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-002-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-002-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-002-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-004-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-004-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-004-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-004-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-007-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-007-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-007-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-007-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-008-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-008-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-008-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-008-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-009-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-009-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-009-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-009-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-010-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-010-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-010-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-010-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-011-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-011-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-011-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-011-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-012-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-012-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-012-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-012-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-013-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-013-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-013-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-013-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-014-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-014-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-014-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-014-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-110-a-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-016-a-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-110-a-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-016-a-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-110-b-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-016-b-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-110-b-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-016-b-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-112-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-017-ref.html similarity index 72% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-112-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-017-ref.html index f7f79390810..d37b2301d9c 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-112-ref.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-017-ref.html @@ -13,11 +13,6 @@ border-color: blue; } -

    Test passes if the black box is identical to the blue one. diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-113-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-018-ref.html similarity index 76% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-113-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-018-ref.html index 738c600f5b4..84cb52c478e 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-113-ref.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-018-ref.html @@ -16,11 +16,6 @@ u { background: silver; } b { background: green; } em { background: gray; } -

    Test passes if the black box is identical to the blue one. diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-114-a-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-019-a-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-114-a-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-019-a-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-114-b-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-019-b-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-114-b-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-019-b-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-115-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-020-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-115-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-020-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-116-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-021-ref.html similarity index 72% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-116-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-021-ref.html index 62d26d6a4b5..1569dc9cbce 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-116-ref.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-021-ref.html @@ -13,5 +13,5 @@ div {

    Test passes if the two boxes below are identical. -

    東京 へ 行きましょう。
    -
    東京 へ 行きましょう。
    +
    一生懸命 働きます。
    +
    一生懸命 働きます。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-117-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-022-ref.html similarity index 72% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-117-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-022-ref.html index 81d1f0601dd..734c08ccab0 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-117-ref.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-022-ref.html @@ -13,5 +13,5 @@ div {

    Test passes if the two boxes below are identical. -

    東京 へ 行きましょう。
    -
    東京 へ 行きましょう。
    +
    一生懸命 働きます。
    +
    一生懸命 働きます。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-119-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-024-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-119-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-024-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-120-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-025-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-120-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-025-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-121-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-026-ref.html similarity index 100% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-121-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-026-ref.html diff --git a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-122-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-027-ref.html similarity index 62% rename from tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-122-ref.html rename to tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-027-ref.html index 27170553468..58cfc552c80 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/reference/word-boundary-122-ref.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-027-ref.html @@ -1,6 +1,6 @@ -Test reference +CSS test reference + +

    Test passes if the two boxes below are identical. + +

    東京へ行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-030-ref.html b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-030-ref.html new file mode 100644 index 00000000000..46df21573f1 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/reference/word-space-transform-030-ref.html @@ -0,0 +1,18 @@ + + +CSS Test reference + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命 
    働きます。
    +
    一生懸命 
    働きます。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-001.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-001.html similarity index 61% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-001.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-001.html index 08ad0d1a988..5378808efe5 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-001.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-001.html @@ -1,16 +1,16 @@ -CSS Text level 4 Test: word-boundary-expansion:ideographic-space +CSS Text level 4 Test: word-space-transform:ideographic-space - - - + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-002.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-002.html similarity index 63% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-002.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-002.html index 58dede44b2c..5cad18ef476 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-002.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-002.html @@ -1,16 +1,16 @@ -CSS Text level 4 Test: word-boundary-expansion:space +CSS Text level 4 Test: word-space-transform:space - - - + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-003.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-003.html similarity index 59% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-003.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-003.html index 41151753f92..f7e4f5c9e24 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-003.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-003.html @@ -1,16 +1,16 @@ -CSS Text level 4 Test: word-boundary-expansion inherits +CSS Text level 4 Test: word-space-transform inherits - - - + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-004.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-004.html similarity index 53% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-004.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-004.html index ad7f19fdb99..082824542f1 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-004.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-004.html @@ -1,19 +1,19 @@ -CSS Text level 4 Test: word-boundary-expansion off on wbr +CSS Text level 4 Test: word-space-transform off on wbr - - - + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-005.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-005.html similarity index 54% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-005.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-005.html index f124c3737ca..fc994ebbe66 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-005.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-005.html @@ -1,19 +1,19 @@ -CSS Text level 4 Test: word-boundary-expansion off on inline +CSS Text level 4 Test: word-space-transform off on inline - - - + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-006.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-006.html similarity index 55% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-006.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-006.html index 587847b75cd..6fdd0abbe9a 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-006.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-006.html @@ -1,16 +1,16 @@ -CSS Text level 4 Test: turn on word-boundary-expansion on wbr and inlines +CSS Text level 4 Test: turn on word-space-transform on wbr and inlines - - - + + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-008.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-007.html similarity index 58% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-008.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-007.html index a1dfb828f25..5d021684de4 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-008.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-007.html @@ -1,18 +1,17 @@ -CSS Text level 4 Test: word-boundary-expansion space non collapsing +CSS Text level 4 Test: word-space-transform space collapsing - + - - + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-007.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-008.html similarity index 51% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-007.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-008.html index 912188c7404..8808d936f00 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-007.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-008.html @@ -1,21 +1,23 @@ -CSS Text level 4 Test: word-boundary-expansion space collapsing +CSS Text level 4 Test: word-space-transform space non collapsing - + - - + +

    Test passes if the two lines below are identical.

    a b c ​d​ ef​​g​h​i ​ j
    -
    a b c d e f g h i j
    +
    a b c d e f g h i j
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-009.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-009.html similarity index 52% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-009.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-009.html index cb8ec84fc2b..5c0df04d1da 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-009.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-009.html @@ -1,18 +1,18 @@ -CSS Text level 4 Test: word-boundary-expansion and text-transform:full-width +CSS Text level 4 Test: word-space-transform and text-transform:full-width - - + + - - + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-010.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-010.html similarity index 91% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-010.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-010.html index 6e1cc1ccf27..b91f2d24996 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-010.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-010.html @@ -1,9 +1,9 @@ -CSS Text level 4 Test: word-boundary-expansion and forced line breaks +CSS Text level 4 Test: word-space-transform and forced line breaks - - + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-011.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-011.html similarity index 88% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-011.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-011.html index 4da3a7a5c9d..9df80d70732 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-011.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-011.html @@ -1,9 +1,9 @@ -CSS Text level 4 Test: word-boundary-expansion and forced line breaks (br and preserved new lines) +CSS Text level 4 Test: word-space-transform and forced line breaks (br and preserved new lines) - - + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-014.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-014.html similarity index 62% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-014.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-014.html index f4400647985..9ab350c7b84 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-014.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-014.html @@ -1,11 +1,11 @@ -CSS Text level 4 Test: word-boundary-expansion and keep-all +CSS Text level 4 Test: word-space-transform and keep-all - + - - + + diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-015-manual.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-015-manual.html similarity index 76% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-015-manual.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-015-manual.html index 8b7c6d98eeb..b86df3879ca 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-015-manual.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-015-manual.html @@ -1,9 +1,9 @@ -CSS Text level 4 Test: word-boundary-expansion copy-pasting +CSS Text level 4 Test: word-space-transform copy-pasting - - + + + +

    Test passes if the black box is identical to either the blue or orange one. + +

    東京へ 行きましょう。
    +
    東京へ行きましょう。
    +
    東京 へ 行きましょう。
    + + diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-017.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-017.html new file mode 100644 index 00000000000..3a50355153c --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-017.html @@ -0,0 +1,26 @@ + + +CSS Text level 4 Test: word-space-transform: space auto-phase + + + + + + +

    Test passes if the black box is identical to the blue one. + +

    กรุงเทพคือสวยงาม
    +
    กรุงเทพ คือ สวยงาม
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-113.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-018.html similarity index 51% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-113.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-018.html index f5e0cdf046d..53703bb7ba6 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-113.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-018.html @@ -1,11 +1,11 @@ -CSS Text level 4 Test: word-boundary-detection:auto(th) outermost placement +CSS Text level 4 Test: word-space-transform: auto-phrase outermost placement - - - - + + + + -

    Test passes if the black box is identical to the blue one. diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-114.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-019.html similarity index 50% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-114.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-019.html index b18e1e53caf..d52fcdabd9b 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-114.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-019.html @@ -1,16 +1,13 @@ -CSS Text level 4 Test: word-boundary-detection:auto(ja) and outermost placement +CSS Text level 4 Test: word-space-transform: ideographic-space auto-phrase and outermost placement - - - - - + + + + + -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). -

    Test passes if the black box is identical to either the blue or orange one.

    東京 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-020.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-020.html new file mode 100644 index 00000000000..fac894ab0ab --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-020.html @@ -0,0 +1,27 @@ + + +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-021.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-021.html new file mode 100644 index 00000000000..d77e6e41bac --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-021.html @@ -0,0 +1,24 @@ + + +CSS Text level 4 Test: word-space-transform auto-phrase forbidden + + + + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命 働きます。
    +
    一生懸命 働きます。
    + diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-022.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-022.html new file mode 100644 index 00000000000..3e17a5bc8c5 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-022.html @@ -0,0 +1,23 @@ + + +CSS Text level 4 Test: word-space-transform auto-phrase forbidden + + + + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命 働きます。
    +
    一生懸命 働きます。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-023.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-023.html new file mode 100644 index 00000000000..044c3b18b67 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-023.html @@ -0,0 +1,23 @@ + + +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden + + + + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命​働きます。
    +
    一生懸命 働きます。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-119.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-024.html similarity index 60% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-119.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-024.html index fb3aaebc92a..644ee08e5e0 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-119.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-024.html @@ -1,15 +1,12 @@ -CSS Text level 4 Test: word-boundary-detection:auto() forbidden +CSS Text level 4 Test: word-space-transform auto-phrase forbidden - - - + + + -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). -

    Test passes if the two boxes below are identical.

    東京 へ 行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-120.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-025.html similarity index 60% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-120.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-025.html index 8f2bff5b229..704081ac13e 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-120.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-025.html @@ -1,15 +1,12 @@ -CSS Text level 4 Test: word-boundary-detection:auto() forbidden +CSS Text level 4 Test: word-space-transform auto-phrase forbidden - - - + + + -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). -

    Test passes if the two boxes below are identical.

    東京⁠へ⁠行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-121.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-026.html similarity index 60% rename from tests/wpt/tests/css/css-text/word-boundary/word-boundary-121.html rename to tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-026.html index 667e1e068e2..30531bfc4b2 100644 --- a/tests/wpt/tests/css/css-text/word-boundary/word-boundary-121.html +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-026.html @@ -1,15 +1,12 @@ -CSS Text level 4 Test: word-boundary-detection:auto() forbidden +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden - - - + + + -

    This test is not relevant, because this UA does not support word-boundary-detection:auto(ja). -

    Test passes if the two boxes below are identical.

    東京‍へ‍行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-027.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-027.html new file mode 100644 index 00000000000..325daa12c4f --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-027.html @@ -0,0 +1,24 @@ + + +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京へ行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-028.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-028.html new file mode 100644 index 00000000000..e334449a70e --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-028.html @@ -0,0 +1,24 @@ + + +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京へ行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-029.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-029.html new file mode 100644 index 00000000000..8eb25c13511 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-029.html @@ -0,0 +1,24 @@ + + +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    東京へ行きましょう。
    +
    東京へ行きましょう。
    diff --git a/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-030.html b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-030.html new file mode 100644 index 00000000000..9c1ba11fd56 --- /dev/null +++ b/tests/wpt/tests/css/css-text/word-space-transform/word-space-transform-030.html @@ -0,0 +1,25 @@ + + +CSS Text level 4 Test: word-space-transform: auto-phrase forbidden + + + + + + + +

    Test passes if the two boxes below are identical. + +

    一生懸命働きます。
    +
    一生懸命 
    働きます。
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-002.tentative.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-002.html similarity index 100% rename from tests/wpt/tests/css/css-transforms/backface-visibility-hidden-002.tentative.html rename to tests/wpt/tests/css/css-transforms/backface-visibility-hidden-002.html diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003-ref.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003-ref.html index 7dab6b947fb..b21977caa5e 100644 --- a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003-ref.html +++ b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003-ref.html @@ -1,21 +1,14 @@ -backface visibility: hidden applies to pseudo-stacking contexts - +backface visibility: hidden + -

    The test passes if there is a green rectangle and no red

    +

    The test passes if there is a green rectangle and no red.

    -
    -
    -
    -
    -
    +
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003.html new file mode 100644 index 00000000000..bda82b697ab --- /dev/null +++ b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003.html @@ -0,0 +1,43 @@ + +backface visibility: hidden creates containing block and stacking context when participating in a 3D rendering context + + + + + +

    The test passes if there is a green rectangle and no red.

    + + +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003.tentative.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003.tentative.html deleted file mode 100644 index d104662b26e..00000000000 --- a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-003.tentative.html +++ /dev/null @@ -1,23 +0,0 @@ - -backface visibility: hidden applies to pseudo-stacking contexts - - - - - -

    The test passes if there is a green rectangle and no red

    - -
    -
    -
    -
    -
    -
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-004.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-004.html new file mode 100644 index 00000000000..8a8834c39e4 --- /dev/null +++ b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-004.html @@ -0,0 +1,47 @@ + +backface visibility: hidden creates containing block and stacking context when participating in a 3D rendering context + + + + + +

    The test passes if there is a green rectangle and no red.

    + + +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-004.tentative.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-004.tentative.html deleted file mode 100644 index 1fb3fffd3d1..00000000000 --- a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-004.tentative.html +++ /dev/null @@ -1,20 +0,0 @@ - -backface visibility: hidden does not apply to child pseudo-stacking context descendants - - - - - -

    The test passes if there is a green rectangle and no red

    - -
    -
    -
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-005.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-005.html new file mode 100644 index 00000000000..4a77466fe40 --- /dev/null +++ b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-005.html @@ -0,0 +1,43 @@ + +backface visibility: hidden creates containing block and stacking context when transformed + + + + + +

    The test passes if there is a green rectangle and no red.

    + + +
    +
    +
    +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-005.tentative.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-005.tentative.html deleted file mode 100644 index d53ee1c606f..00000000000 --- a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-005.tentative.html +++ /dev/null @@ -1,22 +0,0 @@ - -backface visibility: hidden inside preserve-3d does not apply to pseudo-stacking context descendants - - - - - -

    The test passes if there is a green rectangle and no red

    - -
    -
    -
    -
    -
    diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-animated-002.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-animated-002.html deleted file mode 100644 index 107b79946de..00000000000 --- a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-animated-002.html +++ /dev/null @@ -1,25 +0,0 @@ - -backface visibility: hidden does not apply to child pseudo-stacking context descendants, even when animation is present - - - - - -

    The test passes if there is a green rectangle and no red

    - -
    -
    -
    diff --git a/tests/wpt/tests/css/css-transforms/transform-2d-getComputedStyle-001.html b/tests/wpt/tests/css/css-transforms/transform-2d-getComputedStyle-001.html index b6a2a7cef21..c70cfa9cdc5 100644 --- a/tests/wpt/tests/css/css-transforms/transform-2d-getComputedStyle-001.html +++ b/tests/wpt/tests/css/css-transforms/transform-2d-getComputedStyle-001.html @@ -75,8 +75,16 @@ } function clear(id) { const element = document.getElementById(id); + const value = window.getComputedStyle(element).transform; element.style.display = 'none'; - assert_equals(window.getComputedStyle(element).getPropertyValue("transform"), "none", "Computed style for an element with 'display: none' should be 'transform: none'"); + // https://drafts.csswg.org/css-transforms-2/#serialization-of-the-computed-value + // For now both 'none' and 'matrix()' are accepted as resolved value of + // transform for an element with 'display: none' until we get a consensus + // in https://github.com/w3c/csswg-drafts/issues/9121. + assert_in_array( + window.getComputedStyle(element).transform, ['none', value], + "The resolved value of 'transform' for an element with 'display: none' " + + "should be 'none' or should not depend on display value."); } test(function() { diff --git a/tests/wpt/tests/css/css-transforms/transform-box/reference/svgbox-rect-dasharray-ref.html b/tests/wpt/tests/css/css-transforms/transform-box/reference/svgbox-rect-dasharray-ref.html new file mode 100644 index 00000000000..ae4c8aa6f61 --- /dev/null +++ b/tests/wpt/tests/css/css-transforms/transform-box/reference/svgbox-rect-dasharray-ref.html @@ -0,0 +1,12 @@ + + + + + diff --git a/tests/wpt/tests/css/css-transforms/transform-box/reference/svgbox-rect-ref.html b/tests/wpt/tests/css/css-transforms/transform-box/reference/svgbox-rect-ref.html new file mode 100644 index 00000000000..eb1ac1fca2a --- /dev/null +++ b/tests/wpt/tests/css/css-transforms/transform-box/reference/svgbox-rect-ref.html @@ -0,0 +1,14 @@ + + + + + + + diff --git a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-001.html b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-001.html index c2723849817..8c64e5406af 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-001.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-001.html @@ -1,27 +1,27 @@ transform-box: stroke-box, stroke mutated - + - + - + diff --git a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-002.html b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-002.html index f460b8e26a2..3884b98a89a 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-002.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-002.html @@ -1,27 +1,27 @@ transform-box: stroke-box, shape mutated - + - + - + diff --git a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-003.html b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-003.html index f82bf5acbcf..717cf170f10 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-003.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-003.html @@ -1,31 +1,31 @@ transform-box: stroke-box, on group (<g>), stroke on child mutated - + - + - + diff --git a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-004.html b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-004.html index 51df8ebb91c..ace6b6252ae 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-004.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/stroke-box-mutation-004.html @@ -1,32 +1,32 @@ transform-box: stroke-box, on group (<g>), child shape mutated - + - + - + diff --git a/tests/wpt/tests/css/css-transforms/transform-box/svgbox-border-box.html b/tests/wpt/tests/css/css-transforms/transform-box/svgbox-border-box.html index 921dba1d738..b848dbf238a 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/svgbox-border-box.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/svgbox-border-box.html @@ -1,22 +1,22 @@ transform-box: border-box (SVG layout) - + - + - +
    @@ -24,5 +24,5 @@ var refStyle = "border-box"; var compStyle = getComputedStyle(document.getElementById('target')).transformBox; if (refStyle != compStyle) - document.getElementById('error').textContent = "Error, got computed style " + compStyle; + document.getElementById('error').textContent = "Error, got computed style " + compStyle; diff --git a/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-001.html b/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-001.html index d2ca1411ae8..2687d933b1a 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-001.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-001.html @@ -1,22 +1,22 @@ transform-box: stroke-box (SVG layout) - + - + - +
    @@ -24,5 +24,5 @@ var refStyle = "stroke-box"; var compStyle = getComputedStyle(document.getElementById('target')).transformBox; if (refStyle != compStyle) - document.getElementById('error').textContent = "Error, got computed style " + compStyle; + document.getElementById('error').textContent = "Error, got computed style " + compStyle; diff --git a/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-002.html b/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-002.html index dd7d656eacf..50afbae813d 100644 --- a/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-002.html +++ b/tests/wpt/tests/css/css-transforms/transform-box/svgbox-stroke-box-002.html @@ -1,6 +1,6 @@ transform-box: stroke-box, stroke with dash array - + @@ -8,14 +8,14 @@ #target { fill: green; stroke: black; - stroke-width: 50; - stroke-dasharray: 100; - stroke-dashoffset: 100; + stroke-width: 20; + stroke-dasharray: 100 50; + stroke-dashoffset: 50; transform-box: stroke-box; - transform-origin: 25px 0px; + transform-origin: 20px 0px; transform: rotate(90deg); } - + diff --git a/tests/wpt/tests/css/css-transforms/transform-input-009-ref.html b/tests/wpt/tests/css/css-transforms/transform-input-009-ref.html index 90d048b9141..b363509c911 100644 --- a/tests/wpt/tests/css/css-transforms/transform-input-009-ref.html +++ b/tests/wpt/tests/css/css-transforms/transform-input-009-ref.html @@ -3,8 +3,10 @@ CSS Reftest Reference +
    - Test Text + XXpp
    diff --git a/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-001.html b/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-001.html index dbebc64139a..9459381760a 100644 --- a/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-001.html +++ b/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-001.html @@ -5,16 +5,22 @@ + +
    - Test Text + XXpp
    diff --git a/tests/wpt/tests/css/css-transitions/all-with-discrete.tentative.html b/tests/wpt/tests/css/css-transitions/all-with-discrete.tentative.html index c8734f28029..c3642eeed89 100644 --- a/tests/wpt/tests/css/css-transitions/all-with-discrete.tentative.html +++ b/tests/wpt/tests/css/css-transitions/all-with-discrete.tentative.html @@ -22,13 +22,11 @@ diff --git a/tests/wpt/tests/css/css-typed-om/factory-font-relative-length.html b/tests/wpt/tests/css/css-typed-om/factory-font-relative-length.html new file mode 100644 index 00000000000..f7e41ee2976 --- /dev/null +++ b/tests/wpt/tests/css/css-typed-om/factory-font-relative-length.html @@ -0,0 +1,41 @@ + + + + CSSOM Test: Numeric Factory Functions for font relative length + + + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html index 38cd6d237be..9433263fd90 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html @@ -14,9 +14,10 @@ 'use strict'; runPropertyTests('font-variant-emoji', [ - { syntax: 'auto' }, + { syntax: 'normal' }, { syntax: 'text' }, { syntax: 'emoji' }, + { syntax: 'unicode' }, ]); diff --git a/tests/wpt/tests/css/css-ui/compute-kind-widget-no-fallback-props-001.html b/tests/wpt/tests/css/css-ui/compute-kind-widget-no-fallback-props-001.html index 0533da654ff..bda712ec50d 100644 --- a/tests/wpt/tests/css/css-ui/compute-kind-widget-no-fallback-props-001.html +++ b/tests/wpt/tests/css/css-ui/compute-kind-widget-no-fallback-props-001.html @@ -1,4 +1,5 @@ + CSS Basic User Interface Test: Compute kind of widget: properties that DO NOT disable native appearance for widgets diff --git a/tests/wpt/tests/css/css-ui/inheritance.html b/tests/wpt/tests/css/css-ui/inheritance.html index c2aab07a23b..9a2efdd049e 100644 --- a/tests/wpt/tests/css/css-ui/inheritance.html +++ b/tests/wpt/tests/css/css-ui/inheritance.html @@ -41,10 +41,7 @@ assert_not_inherited('nav-down', 'auto', '#foo'); assert_not_inherited('nav-left', 'auto', '#foo'); assert_not_inherited('nav-right', 'auto', '#foo'); assert_not_inherited('nav-up', 'auto', '#foo'); -if (CSS.supports('outline-color', 'invert')) - assert_not_inherited('outline-color', 'invert', 'rgba(42, 53, 64, 0.75)'); -else - assert_not_inherited('outline-color', currentColor, 'rgba(42, 53, 64, 0.75)'); +assert_not_inherited('outline-color', currentColor, 'rgba(42, 53, 64, 0.75)'); assert_not_inherited('outline-offset', '0px', '10px'); assert_not_inherited('outline-style', 'none', 'auto'); assert_not_inherited('outline-width', mediumWidth, '10px'); diff --git a/tests/wpt/tests/css/css-ui/negative-outline-offset-ref.html b/tests/wpt/tests/css/css-ui/negative-outline-offset-ref.html new file mode 100644 index 00000000000..acf1a6e0e88 --- /dev/null +++ b/tests/wpt/tests/css/css-ui/negative-outline-offset-ref.html @@ -0,0 +1,23 @@ + + + +

    PASS if there is a thin red line in the middle of the box.

    +
    + +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-ui/negative-outline-offset.html b/tests/wpt/tests/css/css-ui/negative-outline-offset.html new file mode 100644 index 00000000000..3d20df08539 --- /dev/null +++ b/tests/wpt/tests/css/css-ui/negative-outline-offset.html @@ -0,0 +1,16 @@ + + + + + +

    PASS if there is a thin red line in the middle of the box.

    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-ui/outline-006.html b/tests/wpt/tests/css/css-ui/outline-006.html deleted file mode 100644 index 29f0ea66d51..00000000000 --- a/tests/wpt/tests/css/css-ui/outline-006.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - CSS-UI test: outline-color:invert - - - - - - - -

    Test passes if there is a filled green square and no pink.

    -
    - diff --git a/tests/wpt/tests/css/css-ui/parsing/form-sizing-computed.html b/tests/wpt/tests/css/css-ui/parsing/form-sizing-computed.html new file mode 100644 index 00000000000..557b1d5eb96 --- /dev/null +++ b/tests/wpt/tests/css/css-ui/parsing/form-sizing-computed.html @@ -0,0 +1,14 @@ + +CSS UI: getComputedStyle().formSizing + + + + + + +
    + + diff --git a/tests/wpt/tests/css/css-ui/parsing/form-sizing-invalid.html b/tests/wpt/tests/css/css-ui/parsing/form-sizing-invalid.html new file mode 100644 index 00000000000..80ab546f90e --- /dev/null +++ b/tests/wpt/tests/css/css-ui/parsing/form-sizing-invalid.html @@ -0,0 +1,16 @@ + +CSS UI: parsing form-sizing with invalid values + + + + + + + + diff --git a/tests/wpt/tests/css/css-ui/parsing/form-sizing-valid.html b/tests/wpt/tests/css/css-ui/parsing/form-sizing-valid.html new file mode 100644 index 00000000000..f7cc8f44c3c --- /dev/null +++ b/tests/wpt/tests/css/css-ui/parsing/form-sizing-valid.html @@ -0,0 +1,13 @@ + +CSS UI: parsing form-sizing with valid values + + + + + + + + diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-color-computed.html b/tests/wpt/tests/css/css-ui/parsing/outline-color-computed.html index b9aab1d230a..c6631881b01 100644 --- a/tests/wpt/tests/css/css-ui/parsing/outline-color-computed.html +++ b/tests/wpt/tests/css/css-ui/parsing/outline-color-computed.html @@ -10,11 +10,19 @@
    +
    diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-color-invalid.html b/tests/wpt/tests/css/css-ui/parsing/outline-color-invalid.html index 2b910e80303..91823ffca34 100644 --- a/tests/wpt/tests/css/css-ui/parsing/outline-color-invalid.html +++ b/tests/wpt/tests/css/css-ui/parsing/outline-color-invalid.html @@ -5,14 +5,14 @@ CSS UI Level 3: parsing outline-color with invalid values - + diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-color-valid-optional.html b/tests/wpt/tests/css/css-ui/parsing/outline-color-valid-optional.html deleted file mode 100644 index 79932990988..00000000000 --- a/tests/wpt/tests/css/css-ui/parsing/outline-color-valid-optional.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -CSS UI Level 3: parsing outline-color with valid values - - - - - - - - - - - - diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-color-valid-mandatory.html b/tests/wpt/tests/css/css-ui/parsing/outline-color-valid.html similarity index 82% rename from tests/wpt/tests/css/css-ui/parsing/outline-color-valid-mandatory.html rename to tests/wpt/tests/css/css-ui/parsing/outline-color-valid.html index 2af06658241..ce28fbb4b60 100644 --- a/tests/wpt/tests/css/css-ui/parsing/outline-color-valid-mandatory.html +++ b/tests/wpt/tests/css/css-ui/parsing/outline-color-valid.html @@ -5,7 +5,7 @@ CSS UI Level 3: parsing outline-color with valid values - + @@ -13,6 +13,7 @@ diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-invalid.html b/tests/wpt/tests/css/css-ui/parsing/outline-invalid.html index c43cc3c6434..1d14e7854f0 100644 --- a/tests/wpt/tests/css/css-ui/parsing/outline-invalid.html +++ b/tests/wpt/tests/css/css-ui/parsing/outline-invalid.html @@ -13,6 +13,7 @@ diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-valid-optional.html b/tests/wpt/tests/css/css-ui/parsing/outline-valid-optional.html deleted file mode 100644 index 8150ffa208e..00000000000 --- a/tests/wpt/tests/css/css-ui/parsing/outline-valid-optional.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - -CSS UI Level 3: parsing outline with valid values - - - - - - - - - - - - - - diff --git a/tests/wpt/tests/css/css-ui/parsing/outline-valid-mandatory.html b/tests/wpt/tests/css/css-ui/parsing/outline-valid.html similarity index 90% rename from tests/wpt/tests/css/css-ui/parsing/outline-valid-mandatory.html rename to tests/wpt/tests/css/css-ui/parsing/outline-valid.html index 94d87cb1125..7259a838077 100644 --- a/tests/wpt/tests/css/css-ui/parsing/outline-valid-mandatory.html +++ b/tests/wpt/tests/css/css-ui/parsing/outline-valid.html @@ -17,7 +17,7 @@ test_valid_value("outline", "rgba(10, 20, 30, 0.4)"); test_valid_value("outline", "auto"); -test_valid_value("outline", "none", ["invert", "currentcolor", "none", "medium"]); +test_valid_value("outline", "none", ["currentcolor", "none", "medium"]); test_valid_value("outline", "dotted"); test_valid_value("outline", "dashed"); test_valid_value("outline", "solid"); @@ -31,7 +31,7 @@ test_valid_value("outline", "0", "0px"); test_valid_value("outline", "1px"); test_valid_value("outline", "calc(2em + 3ex)"); test_valid_value("outline", "thin"); -test_valid_value("outline", "medium", ["invert", "currentcolor", "none", "medium"]); +test_valid_value("outline", "medium", ["currentcolor", "none", "medium"]); test_valid_value("outline", "thick"); test_valid_value("outline", "dashed thin"); diff --git a/tests/wpt/tests/css/css-values/acos-asin-atan-atan2-computed.html b/tests/wpt/tests/css/css-values/acos-asin-atan-atan2-computed.html index 82e9dde6223..5f4b7b9aa32 100644 --- a/tests/wpt/tests/css/css-values/acos-asin-atan-atan2-computed.html +++ b/tests/wpt/tests/css/css-values/acos-asin-atan-atan2-computed.html @@ -56,7 +56,9 @@ test_math_used('atan2(1em, -1em)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1ex, -1ex)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1ch, -1ch)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1rem, -1rem)', '135deg', {type:'angle', approx:0.1}); +test_math_used('atan2(1rem + 1px - 1px, -1rem)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1vh, -1vh)', '135deg', {type:'angle', approx:0.1}); +test_math_used('atan2(1vh + 0px, -1vh + 0px)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1vw, -1vw)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1deg, -1deg)', '135deg', {type:'angle', approx:0.1}); test_math_used('atan2(1grad, -1grad)', '135deg', {type:'angle', approx:0.1}); diff --git a/tests/wpt/tests/css/css-values/attr-notype-fallback-ref.html b/tests/wpt/tests/css/css-values/attr-notype-fallback-ref.html new file mode 100644 index 00000000000..efb9b969f3a --- /dev/null +++ b/tests/wpt/tests/css/css-values/attr-notype-fallback-ref.html @@ -0,0 +1,33 @@ + + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-values/attr-notype-fallback.html b/tests/wpt/tests/css/css-values/attr-notype-fallback.html new file mode 100644 index 00000000000..b88f3de4b57 --- /dev/null +++ b/tests/wpt/tests/css/css-values/attr-notype-fallback.html @@ -0,0 +1,35 @@ + + + + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/tests/wpt/tests/css/css-values/calc-border-radius-1.html b/tests/wpt/tests/css/css-values/calc-border-radius-1.html index 05e98505e51..f94bdf2cb94 100644 --- a/tests/wpt/tests/css/css-values/calc-border-radius-1.html +++ b/tests/wpt/tests/css/css-values/calc-border-radius-1.html @@ -5,7 +5,8 @@ - +
    +
    +
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/css-values/mod-length-degrees-crash.html b/tests/wpt/tests/css/css-values/mod-length-degrees-crash.html new file mode 100644 index 00000000000..91d4c65bbb9 --- /dev/null +++ b/tests/wpt/tests/css/css-values/mod-length-degrees-crash.html @@ -0,0 +1,6 @@ + + + + +

    PASS if no crash.

    +
    diff --git a/tests/wpt/tests/css/css-values/rem-length-degrees-crash.html b/tests/wpt/tests/css/css-values/rem-length-degrees-crash.html new file mode 100644 index 00000000000..c62a2e769d3 --- /dev/null +++ b/tests/wpt/tests/css/css-values/rem-length-degrees-crash.html @@ -0,0 +1,6 @@ + + + + +

    PASS if no crash.

    +
    diff --git a/tests/wpt/tests/css/css-values/round-length-degrees-crash.html b/tests/wpt/tests/css/css-values/round-length-degrees-crash.html new file mode 100644 index 00000000000..9250c399c5f --- /dev/null +++ b/tests/wpt/tests/css/css-values/round-length-degrees-crash.html @@ -0,0 +1,6 @@ + + + + +

    PASS if no crash.

    +
    diff --git a/tests/wpt/tests/css/css-values/round-mod-rem-invalid.html b/tests/wpt/tests/css/css-values/round-mod-rem-invalid.html index c0857cc5262..01268091908 100644 --- a/tests/wpt/tests/css/css-values/round-mod-rem-invalid.html +++ b/tests/wpt/tests/css/css-values/round-mod-rem-invalid.html @@ -7,6 +7,11 @@ diff --git a/tests/wpt/tests/css/css-values/sin-cos-tan-serialize.html b/tests/wpt/tests/css/css-values/sin-cos-tan-serialize.html index c6a25e96025..59d682421da 100644 --- a/tests/wpt/tests/css/css-values/sin-cos-tan-serialize.html +++ b/tests/wpt/tests/css/css-values/sin-cos-tan-serialize.html @@ -39,20 +39,16 @@ var test_map = { "tan(0.78539816)" :"calc(1)", "tan(0.78539816rad)" :"calc(1)", "tan(0.125turn)" :"calc(1)", - "tan(90deg)" :"calc(infinity)", - "tan(-90deg)" :"calc(-infinity)", "sin(180deg)" :"calc(0)", "cos(180deg)" :"calc(-1)", "tan(180deg)" :"calc(0)", "sin(270deg)" :"calc(-1)", "cos(270deg)" :"calc(0)", - "tan(270deg)" :"calc(-infinity)", "sin(-180deg)" :"calc(0)", "cos(-180deg)" :"calc(-1)", "tan(-180deg)" :"calc(0)", "sin(-270deg)" :"calc(1)", "cos(-270deg)" :"calc(0)", - "tan(-270deg)" :"calc(infinity)", "calc(sin(30deg) + cos(60deg) + tan(45deg))" :"calc(2)", "calc(sin(infinity))" :"calc(NaN)", "calc(cos(infinity))" :"calc(NaN)", diff --git a/tests/wpt/tests/css/css-variables/variable-presentation-attribute.html b/tests/wpt/tests/css/css-variables/variable-presentation-attribute.html index 1674f3ffdbc..6e35c444b53 100644 --- a/tests/wpt/tests/css/css-variables/variable-presentation-attribute.html +++ b/tests/wpt/tests/css/css-variables/variable-presentation-attribute.html @@ -51,7 +51,7 @@ }); let testproperties = [ - { property: "alignment-baseline", valuesToTest:["auto", "baseline", "before-edge", "text-before-edge", "middle", "central", "after-edge", "text-after-edge", "ideographic", "alphabetic", "hanging", "mathematical"], default: "auto" }, + { property: "alignment-baseline", valuesToTest:["baseline", "before-edge", "text-before-edge", "middle", "central", "after-edge", "text-after-edge", "ideographic", "alphabetic", "hanging", "mathematical"], default: "baseline" }, { property: "baseline-shift", valuesToTest:["baseline", "sub", "super", "13%", "28px"], default: "baseline" }, { property: "clip-rule", valuesToTest:["nonzero", "evenodd"], default: "nonzero" }, { property: "color", valuesToTest:["rgb(128, 0, 128)"], default: "rgb(0, 0, 0)" }, diff --git a/tests/wpt/tests/css/css-variables/whitespace-in-fallback-crash.html b/tests/wpt/tests/css/css-variables/whitespace-in-fallback-crash.html new file mode 100644 index 00000000000..7e150e8453e --- /dev/null +++ b/tests/wpt/tests/css/css-variables/whitespace-in-fallback-crash.html @@ -0,0 +1,8 @@ + +Fallback to a whitespace-only string should not crash + + + +
    Test passes if it does not crash.
    diff --git a/tests/wpt/tests/css/css-view-transitions/content-with-clip-ref.html b/tests/wpt/tests/css/css-view-transitions/content-with-clip-ref.html index 28d8733e27a..a322301686f 100644 --- a/tests/wpt/tests/css/css-view-transitions/content-with-clip-ref.html +++ b/tests/wpt/tests/css/css-view-transitions/content-with-clip-ref.html @@ -17,6 +17,7 @@ body { height: 150vh; + background: pink; }
    diff --git a/tests/wpt/tests/css/css-view-transitions/content-with-clip.html b/tests/wpt/tests/css/css-view-transitions/content-with-clip.html index c4775409570..28bfa868752 100644 --- a/tests/wpt/tests/css/css-view-transitions/content-with-clip.html +++ b/tests/wpt/tests/css/css-view-transitions/content-with-clip.html @@ -34,6 +34,10 @@ body { height: 150vh; } +html::view-transition { + background: pink; + height: 100%; +} html::view-transition-group(hidden) { animation-duration: 300s; } html::view-transition-image-pair(hidden) { animation: unset; opacity: 0; } @@ -43,6 +47,7 @@ html::view-transition-group(target1), html::view-transition-group(target2) { } html::view-transition-old(target1) { animation: unset; opacity: 1; } html::view-transition-new(target2) { animation: unset; opacity: 1; } +html::view-transition-group(root) { display: none } @@ -60,13 +65,11 @@ html::view-transition-new(target2) { animation: unset; opacity: 1; } failIfNot(document.startViewTransition, "Missing document.startViewTransition"); async function runTest() { - document.startViewTransition(() => { + let transition = document.startViewTransition(() => { target1.style = ""; target2.style = "view-transition-name: target2"; - requestAnimationFrame(() => requestAnimationFrame(() => - requestAnimationFrame(() => requestAnimationFrame(takeScreenshot)) - )); }); + transition.ready.then(takeScreenshot); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); diff --git a/tests/wpt/tests/css/css-view-transitions/inline-element-size-ref.html b/tests/wpt/tests/css/css-view-transitions/inline-element-size-ref.html new file mode 100644 index 00000000000..177594c870c --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/inline-element-size-ref.html @@ -0,0 +1,19 @@ + + +View transitions: capture elements with display inline (ref) + + + + + +BOX + + diff --git a/tests/wpt/tests/css/css-view-transitions/inline-element-size.html b/tests/wpt/tests/css/css-view-transitions/inline-element-size.html new file mode 100644 index 00000000000..c9f0d48942c --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/inline-element-size.html @@ -0,0 +1,35 @@ + + +View transitions: capture elements with display inline + + + + + + +BOX + + + diff --git a/tests/wpt/tests/css/css-view-transitions/pseudo-get-computed-style.html b/tests/wpt/tests/css/css-view-transitions/pseudo-get-computed-style.html index 268df4718e6..2481a713133 100644 --- a/tests/wpt/tests/css/css-view-transitions/pseudo-get-computed-style.html +++ b/tests/wpt/tests/css/css-view-transitions/pseudo-get-computed-style.html @@ -16,6 +16,7 @@ div { view-transition-name: target; mix-blend-mode: multiply; text-orientation: upright; + color-scheme: dark light; } ::view-transition-image-pair(target) { position: fixed; @@ -33,6 +34,7 @@ promise_test(() => { assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").position, "absolute", "container(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").mixBlendMode, "multiply", "container(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").textOrientation, "upright", "container(target)"); + assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").colorScheme, "dark light", "container(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-image-pair(target)").position, "absolute", "wrapper(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-old(target)").position, "absolute", "outgoing(target)"); @@ -47,6 +49,7 @@ promise_test(() => { assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").position, "absolute", "raf container(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").mixBlendMode, "multiply", "raf container(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").textOrientation, "upright", "raf container(target)"); + assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").colorScheme, "dark light", "raf container(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-image-pair(target)").position, "fixed", "raf wrapper(target)"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-old(target)").position, "absolute", "raf outgoing(target)"); @@ -85,6 +88,7 @@ promise_test(() => { assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").position, "absolute"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").mixBlendMode, "multiply"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").textOrientation, "upright"); + assert_equals(getComputedStyle(document.documentElement, ":view-transition-group(target)").colorScheme, "dark light"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-image-pair(target)").position, "fixed"); assert_equals(getComputedStyle(document.documentElement, ":view-transition-old(target)").position, "absolute"); diff --git a/tests/wpt/tests/css/css-view-transitions/snapshot-containing-block-includes-scrollbar-gutter-ref.html b/tests/wpt/tests/css/css-view-transitions/snapshot-containing-block-includes-scrollbar-gutter-ref.html new file mode 100644 index 00000000000..8a74bd21645 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/snapshot-containing-block-includes-scrollbar-gutter-ref.html @@ -0,0 +1,34 @@ + + +View transitions: snapshot containing block includes scrollbar gutters (ref) + + + +
    + +
    +
    +
    diff --git a/tests/wpt/tests/css/css-view-transitions/snapshot-containing-block-includes-scrollbar-gutter.html b/tests/wpt/tests/css/css-view-transitions/snapshot-containing-block-includes-scrollbar-gutter.html new file mode 100644 index 00000000000..6e9bf568f67 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/snapshot-containing-block-includes-scrollbar-gutter.html @@ -0,0 +1,48 @@ + + +View transitions: snapshot containing block includes scrollbar gutters + + + + + + + +
    +
    + diff --git a/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-hidden-ref.html b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-hidden-ref.html new file mode 100644 index 00000000000..1d27e470ac1 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-hidden-ref.html @@ -0,0 +1,23 @@ + + +View transitions: span with overflowing text is rendered correctly (ref) + + + + + +
    + This text should render correctly +
    diff --git a/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-hidden.html b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-hidden.html new file mode 100644 index 00000000000..65b1497c700 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-hidden.html @@ -0,0 +1,61 @@ + + +View transitions: span with overflowing text is rendered correctly + + + + + + + + + +
    + This text should render correctly +
    + + + + diff --git a/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-ref.html b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-ref.html new file mode 100644 index 00000000000..76fc3671da1 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text-ref.html @@ -0,0 +1,18 @@ + + +View transitions: span with overflowing text is rendered correctly (ref) + + + + + +This text should render correctly + diff --git a/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text.html b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text.html new file mode 100644 index 00000000000..4abee4e6e00 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/span-with-overflowing-text.html @@ -0,0 +1,57 @@ + + +View transitions: span with overflowing text is rendered correctly + + + + + + + + + + +This text should render correctly + + + + diff --git a/tests/wpt/tests/css/css-writing-modes/forms/button-appearance-native-computed-style.html b/tests/wpt/tests/css/css-writing-modes/forms/button-appearance-native-computed-style.html new file mode 100644 index 00000000000..dd82b54d6d0 --- /dev/null +++ b/tests/wpt/tests/css/css-writing-modes/forms/button-appearance-native-computed-style.html @@ -0,0 +1,70 @@ + + + + +Button appearance native writing mode computed style + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-writing-modes/forms/meter-appearance-native-computed-style.optional.html b/tests/wpt/tests/css/css-writing-modes/forms/meter-appearance-native-computed-style.optional.html index 58e1daee471..446036b73c9 100644 --- a/tests/wpt/tests/css/css-writing-modes/forms/meter-appearance-native-computed-style.optional.html +++ b/tests/wpt/tests/css/css-writing-modes/forms/meter-appearance-native-computed-style.optional.html @@ -13,8 +13,11 @@ test(() => { const meter = document.querySelector(`meter[style="writing-mode: horizontal-tb"]`); const style = getComputedStyle(meter); - assert_equals(style.blockSize, "16px"); - assert_equals(style.inlineSize, "80px"); + const blockSize = parseInt(style.blockSize, 10); + const inlineSize = parseInt(style.inlineSize, 10); + assert_not_equals(blockSize, 0); + assert_not_equals(inlineSize, 0); + assert_greater_than(inlineSize, blockSize); assert_equals(style.blockSize, style.height); assert_equals(style.inlineSize, style.width); }, `meter[style="writing-mode: horizontal-tb"] block size should match height and inline size should match width`); @@ -23,8 +26,11 @@ for (const writingMode of ["vertical-lr", "vertical-rl"]) { test(() => { const meter = document.querySelector(`meter[style="writing-mode: ${writingMode}"]`); const style = getComputedStyle(meter); - assert_equals(style.blockSize, "16px"); - assert_equals(style.inlineSize, "80px"); + const blockSize = parseInt(style.blockSize, 10); + const inlineSize = parseInt(style.inlineSize, 10); + assert_not_equals(blockSize, 0); + assert_not_equals(inlineSize, 0); + assert_greater_than(inlineSize, blockSize); assert_equals(style.blockSize, style.width); assert_equals(style.inlineSize, style.height); }, `meter[style="writing-mode: ${writingMode}"] block size should match width and inline size should match height`); diff --git a/tests/wpt/tests/css/css-writing-modes/forms/progress-appearance-native-computed-style.optional.html b/tests/wpt/tests/css/css-writing-modes/forms/progress-appearance-native-computed-style.optional.html index 47cd65ecf75..0f2e4f1792b 100644 --- a/tests/wpt/tests/css/css-writing-modes/forms/progress-appearance-native-computed-style.optional.html +++ b/tests/wpt/tests/css/css-writing-modes/forms/progress-appearance-native-computed-style.optional.html @@ -13,8 +13,11 @@ test(() => { const progress = document.querySelector(`progress[style="writing-mode: horizontal-tb"]`); const style = getComputedStyle(progress); - assert_equals(style.blockSize, "16px"); - assert_equals(style.inlineSize, "160px"); + const blockSize = parseInt(style.blockSize, 10); + const inlineSize = parseInt(style.inlineSize, 10); + assert_not_equals(blockSize, 0); + assert_not_equals(inlineSize, 0); + assert_greater_than(inlineSize, blockSize); assert_equals(style.blockSize, style.height); assert_equals(style.inlineSize, style.width); }, `progress[style="writing-mode: horizontal-tb"] block size should match height and inline size should match width`); @@ -23,8 +26,11 @@ for (const writingMode of ["vertical-lr", "vertical-rl"]) { test(() => { const progress = document.querySelector(`progress[style="writing-mode: ${writingMode}"]`); const style = getComputedStyle(progress); - assert_equals(style.blockSize, "16px"); - assert_equals(style.inlineSize, "160px"); + const blockSize = parseInt(style.blockSize, 10); + const inlineSize = parseInt(style.inlineSize, 10); + assert_not_equals(blockSize, 0); + assert_not_equals(inlineSize, 0); + assert_greater_than(inlineSize, blockSize); assert_equals(style.blockSize, style.width); assert_equals(style.inlineSize, style.height); }, `progress[style="writing-mode: ${writingMode}"] block size should match width and inline size should match height`); diff --git a/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html b/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html new file mode 100644 index 00000000000..359c09279ed --- /dev/null +++ b/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html @@ -0,0 +1,73 @@ + + + + +Test <select> multiple attribute options visual order + + + + + + + + diff --git a/tests/wpt/tests/css/css-writing-modes/forms/text-input-vertical-overflow-no-scroll.html b/tests/wpt/tests/css/css-writing-modes/forms/text-input-vertical-overflow-no-scroll.html index 50d2cb44ea6..601acb17e0c 100644 --- a/tests/wpt/tests/css/css-writing-modes/forms/text-input-vertical-overflow-no-scroll.html +++ b/tests/wpt/tests/css/css-writing-modes/forms/text-input-vertical-overflow-no-scroll.html @@ -12,7 +12,22 @@ .spacer { height: 100vh; } - input { font-family: monospace; } + input { + font-family: monospace; + + /* Use an explicit whole-number-of-pixels height, to avoid tripping + Mozilla bug 1851066, regarding fractional scroll positions + triggering an async 1px adjustment to scrollTop. We can remove this + once that bug is fixed. + (Without this hack, the input element may end up with a height + that's a fractional number of pixels, depending on the font. + And then this test's call to 'scrollIntoView' puts us at a + fractional scroll-position, to bottom-align the input element. And + that's sufficient to trigger bug 1851066 and get an asynchronous 1px + adjustment to scrollTop, which this test doesn't expect. + */ + height: 200px; + }
    diff --git a/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-root.html b/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-root.html index 7b4a8e38632..d60275f1ccf 100644 --- a/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-root.html +++ b/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-root.html @@ -39,6 +39,11 @@ add_completion_callback(() => { resetScroll(scrollingElement); }); + promise_test(async () => { + await new Promise(resolve => requestAnimationFrame(resolve)); + await new Promise(resolve => requestAnimationFrame(resolve)); + }, `Make sure the page content is stable`); + ["scroll", "scrollTo", "scrollBy", "scrollIntoView"].forEach((scrollFunction) => { promise_test(() => { resetScroll(scrollingElement); diff --git a/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-window.html b/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-window.html index 8024d5319b4..7593baf1b86 100644 --- a/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-window.html +++ b/tests/wpt/tests/css/cssom-view/scroll-behavior-main-frame-window.html @@ -39,6 +39,11 @@ add_completion_callback(() => { resetScrollForWindow(window); }); + promise_test(async () => { + await new Promise(resolve => requestAnimationFrame(resolve)); + await new Promise(resolve => requestAnimationFrame(resolve)); + }, `Make sure the page content is stable`); + ["scroll", "scrollTo", "scrollBy"].forEach((scrollFunction) => { promise_test(() => { resetScrollForWindow(scrollingWindow); diff --git a/tests/wpt/tests/css/cssom/getComputedStyle-insets-absolute-logical-crash.html b/tests/wpt/tests/css/cssom/getComputedStyle-insets-absolute-logical-crash.html new file mode 100644 index 00000000000..1e3ef8ab121 --- /dev/null +++ b/tests/wpt/tests/css/cssom/getComputedStyle-insets-absolute-logical-crash.html @@ -0,0 +1,31 @@ + +Chromium bug: getComputedStyle() crashes with logical inset properties + + + + +
    + + +
    + + +
    + + +
    + + +
    + + +
    + + +
    + + diff --git a/tests/wpt/tests/css/cssom/getComputedStyle-insets-absolute-roundtrip.html b/tests/wpt/tests/css/cssom/getComputedStyle-insets-absolute-roundtrip.html new file mode 100644 index 00000000000..d89a22d8665 --- /dev/null +++ b/tests/wpt/tests/css/cssom/getComputedStyle-insets-absolute-roundtrip.html @@ -0,0 +1,41 @@ + +Chromium bug: getComputedStyle() fixed-length inset values don't roundtrip + + + + + + + + +
    + + +
    + + +
    + + +
    + diff --git a/tests/wpt/tests/css/cssom/getComputedStyle-margins-roundtrip.html b/tests/wpt/tests/css/cssom/getComputedStyle-margins-roundtrip.html new file mode 100644 index 00000000000..8913be012d7 --- /dev/null +++ b/tests/wpt/tests/css/cssom/getComputedStyle-margins-roundtrip.html @@ -0,0 +1,35 @@ + +Chromium bug: getComputedStyle() fixed-length inset values don't roundtrip + + + + + + +
    + + +
    + + +
    + + +
    + diff --git a/tests/wpt/tests/css/cssom/getComputedStyle-pseudo.html b/tests/wpt/tests/css/cssom/getComputedStyle-pseudo.html index 40af5b0818c..59c7db9e734 100644 --- a/tests/wpt/tests/css/cssom/getComputedStyle-pseudo.html +++ b/tests/wpt/tests/css/cssom/getComputedStyle-pseudo.html @@ -4,6 +4,7 @@ +
    @@ -62,6 +69,7 @@
    +
    • Item
    diff --git a/tests/wpt/tests/css/cssom/serialize-values.html b/tests/wpt/tests/css/cssom/serialize-values.html index e92808af70d..2d20f263f4f 100644 --- a/tests/wpt/tests/css/cssom/serialize-values.html +++ b/tests/wpt/tests/css/cssom/serialize-values.html @@ -97,7 +97,17 @@ } function attr() { - var values = ['attr(foo-bar)', 'attr(foo_bar)']; + var values = ['attr(foo-bar)', 'attr(foo_bar)', + {actual: "attr(|bar)", serialized: "attr(bar)"}, + {actual: "attr( |bar )", serialized: "attr(bar)"}]; + return iterable(values); + } + + function attr_fallback() { + var values = ['attr(foo-bar, "fallback")', 'attr(foo_bar, "fallback")', + {actual: 'attr(|bar, "fallback")', serialized: 'attr(bar, "fallback")'}, + {actual: 'attr(foo, "")', serialized: 'attr(foo)'}, + {actual: 'attr( |foo , "" )', serialized: 'attr(foo)'}]; return iterable(values); } @@ -140,23 +150,7 @@ return null; } - // A more elegant way of doing this would be better, but for now this exception list handles cases where "center" must be omitted. var minimal_results = { - "background-position: 5% center": "5%", - "background-position: 0.5% center": "0.5%", - "background-position: -5% center": "-5%", - "background-position: -0.5% center": "-0.5%", - "background-position: 0px center": "0px", - "background-position: 1px center": "1px", - "background-position: 0.1em center": "0.1em", - "background-position: 0px center": "0px", - "background-position: -1px center": "-1px", - "background-position: -0.1em center": "-0.1em", - "background-position: left center": "left", - "background-position: center top": "top", - "background-position: center center": "center", - "background-position: center bottom": "bottom", - "background-position: right center": "right", }; function create_result(propertyName, actual, expected) { @@ -377,7 +371,7 @@ 'initial': 'black', //FIXME depends on user agent }], ['content', { - 'values': ['normal', 'none', string, uri, counter, attr, 'inherit'], //FIXME + 'values': ['normal', 'none', string, uri, counter, attr, attr_fallback, 'inherit'], //FIXME 'initial': 'normal', }], //counter-increment diff --git a/tests/wpt/tests/css/filter-effects/backdrop-filters-brightness.html b/tests/wpt/tests/css/filter-effects/backdrop-filters-brightness.html index dfb8ba248ee..cb74e0a8863 100644 --- a/tests/wpt/tests/css/filter-effects/backdrop-filters-brightness.html +++ b/tests/wpt/tests/css/filter-effects/backdrop-filters-brightness.html @@ -3,6 +3,7 @@ + diff --git a/tests/wpt/tests/css/filter-effects/drop-shadow-currentcolor-dynamic-001.html b/tests/wpt/tests/css/filter-effects/drop-shadow-currentcolor-dynamic-001.html new file mode 100644 index 00000000000..9c70274d5d8 --- /dev/null +++ b/tests/wpt/tests/css/filter-effects/drop-shadow-currentcolor-dynamic-001.html @@ -0,0 +1,32 @@ + + +Filter Effects: Dynamic 'currentcolor' in drop-shadow() + + + + + +
    +
    +
    + diff --git a/tests/wpt/tests/css/filter-effects/drop-shadow-currentcolor-dynamic-002.html b/tests/wpt/tests/css/filter-effects/drop-shadow-currentcolor-dynamic-002.html new file mode 100644 index 00000000000..3f17b5d634e --- /dev/null +++ b/tests/wpt/tests/css/filter-effects/drop-shadow-currentcolor-dynamic-002.html @@ -0,0 +1,30 @@ + + +Filter Effects: Dynamic 'currentcolor' in drop-shadow(); SVG content + + + + + + + + + diff --git a/tests/wpt/tests/css/geometry/DOMMatrix-001.html b/tests/wpt/tests/css/geometry/DOMMatrix-001.html index 1752c2c5cae..f578da076cb 100644 --- a/tests/wpt/tests/css/geometry/DOMMatrix-001.html +++ b/tests/wpt/tests/css/geometry/DOMMatrix-001.html @@ -117,8 +117,16 @@ 'translateX(5ex)', 'translateX(5ch)', 'translateX(5rem)', + 'translateX(5cqw)', + 'translateX(5cqh)', + 'translateX(5cqb)', + 'translateX(5cqi)', + 'translateX(5cqmin)', + 'translateX(5cqmax)', 'translateX(5vw)', 'translateX(5vh)', + 'translateX(5vb)', + 'translateX(5vi)', 'translateX(5vmin)', 'translateX(5vmax)', 'translateX(5%)', diff --git a/tests/wpt/tests/css/mediaqueries/display-mode.html b/tests/wpt/tests/css/mediaqueries/display-mode.html new file mode 100644 index 00000000000..e6633de856c --- /dev/null +++ b/tests/wpt/tests/css/mediaqueries/display-mode.html @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/mediaqueries/display-mode.tentative.html b/tests/wpt/tests/css/mediaqueries/display-mode.tentative.html new file mode 100644 index 00000000000..0762d065c33 --- /dev/null +++ b/tests/wpt/tests/css/mediaqueries/display-mode.tentative.html @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/motion/offset-path-coord-box-001.html b/tests/wpt/tests/css/motion/offset-path-coord-box-001.html index 15f378e0386..a8f7d98b22a 100644 --- a/tests/wpt/tests/css/motion/offset-path-coord-box-001.html +++ b/tests/wpt/tests/css/motion/offset-path-coord-box-001.html @@ -1,10 +1,10 @@ CSS Motion Path test: <coord-box> <border-box> - + + + +
    +
    +
    +
    +
    +
    + + diff --git a/tests/wpt/tests/css/motion/offset-path-ray-019.html b/tests/wpt/tests/css/motion/offset-path-ray-019.html new file mode 100644 index 00000000000..31681fd43c2 --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-ray-019.html @@ -0,0 +1,37 @@ + + + + CSS Motion Path: ray paths + + + + + + +
    +
    +
    +
    +
    +
    + + diff --git a/tests/wpt/tests/css/motion/offset-path-ray-020.html b/tests/wpt/tests/css/motion/offset-path-ray-020.html new file mode 100644 index 00000000000..b332453af9c --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-ray-020.html @@ -0,0 +1,33 @@ + + + + CSS Motion Path: ray paths + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/motion/offset-path-ray-021.html b/tests/wpt/tests/css/motion/offset-path-ray-021.html new file mode 100644 index 00000000000..f0a18ea4cb9 --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-ray-021.html @@ -0,0 +1,33 @@ + + + + CSS Motion Path: ray paths + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/motion/offset-path-ray-022-ref.html b/tests/wpt/tests/css/motion/offset-path-ray-022-ref.html new file mode 100644 index 00000000000..63bbc2cfb32 --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-ray-022-ref.html @@ -0,0 +1,28 @@ + + + + CSS Motion Path: ray paths + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/motion/offset-path-ray-022.html b/tests/wpt/tests/css/motion/offset-path-ray-022.html new file mode 100644 index 00000000000..c264076c91a --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-ray-022.html @@ -0,0 +1,34 @@ + + + + CSS Motion Path: ray paths + + + + + + +
    +
    +
    + + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-circle-001.html b/tests/wpt/tests/css/motion/offset-path-shape-circle-001.html index 2205d9d3f69..5b05cb8811b 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-circle-001.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-circle-001.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> circle() path with explicit arguments - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-circle-003.html b/tests/wpt/tests/css/motion/offset-path-shape-circle-003.html index ef69e7e41b6..390b587de57 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-circle-003.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-circle-003.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> circle() path with offset-distance - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-circle-004.html b/tests/wpt/tests/css/motion/offset-path-shape-circle-004.html index d22665636e6..6c8bbcc1706 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-circle-004.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-circle-004.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> circle() path with offset-distance and offset-anchor - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-circle-005.html b/tests/wpt/tests/css/motion/offset-path-shape-circle-005.html index 2ba5bc1650a..e35ab294919 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-circle-005.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-circle-005.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> circle() path with offset-position - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-circle-006.html b/tests/wpt/tests/css/motion/offset-path-shape-circle-006.html new file mode 100644 index 00000000000..f94af711bdd --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-shape-circle-006.html @@ -0,0 +1,29 @@ + + +CSS Motion Path test: <basic-shape> circle() path with border radius on container + + + + + + +
    +
    +
    diff --git a/tests/wpt/tests/css/motion/offset-path-shape-circle-007.html b/tests/wpt/tests/css/motion/offset-path-shape-circle-007.html new file mode 100644 index 00000000000..ea292e56055 --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-shape-circle-007.html @@ -0,0 +1,31 @@ + + +CSS Motion Path test: <basic-shape> circle() path with offset from container + + + + + + +
    +
    +
    diff --git a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-001.html b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-001.html index be3ade57c6d..ec152e323c5 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-001.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-001.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> ellipse() path with explicit arguments - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-003.html b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-003.html index 1831af7019d..ead22291433 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-003.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-003.html @@ -3,7 +3,7 @@ CSS Motion Path test: <basic-shape> ellipse() path with offset-distance - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-004.html b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-004.html index 0ed4816e3d0..af178eb14ef 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-004.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-004.html @@ -1,6 +1,7 @@ CSS Motion Path test: <basic-shape> ellipse() path with offset-distance and offset-anchor + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-005.html b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-005.html index 2b2c0abeff9..7364728df1f 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-005.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-005.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> ellipse() path with offset-position - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-ellipse-006.html b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-006.html new file mode 100644 index 00000000000..6ec56ff4962 --- /dev/null +++ b/tests/wpt/tests/css/motion/offset-path-shape-ellipse-006.html @@ -0,0 +1,33 @@ + + +CSS Motion Path test: <basic-shape> ellipse() path with offset from container + + + + + + + + +
    +
    +
    diff --git a/tests/wpt/tests/css/motion/offset-path-shape-inset-001.html b/tests/wpt/tests/css/motion/offset-path-shape-inset-001.html index 27f5e3fc7d6..8d90aef2e19 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-inset-001.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-inset-001.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> inset() path with explicit arguments - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-inset-002.html b/tests/wpt/tests/css/motion/offset-path-shape-inset-002.html index 5ca502e8b1c..ceafdd8cd23 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-inset-002.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-inset-002.html @@ -1,7 +1,7 @@ CSS Motion Path test: <basic-shape> inset() path with explicit arguments and radius - + diff --git a/tests/wpt/tests/css/motion/offset-path-shape-polygon-001.html b/tests/wpt/tests/css/motion/offset-path-shape-polygon-001.html index 7e9ccdbfda9..fcb31f24525 100644 --- a/tests/wpt/tests/css/motion/offset-path-shape-polygon-001.html +++ b/tests/wpt/tests/css/motion/offset-path-shape-polygon-001.html @@ -4,6 +4,7 @@ + + +

    The word "PASS" should be seen below.

    + diff --git a/tests/wpt/tests/css/printing/resources/iframe-with-abspos.html b/tests/wpt/tests/css/printing/resources/iframe-with-abspos.html new file mode 100644 index 00000000000..27de3aad5e0 --- /dev/null +++ b/tests/wpt/tests/css/printing/resources/iframe-with-abspos.html @@ -0,0 +1,5 @@ + + +
    PASS
    diff --git a/tests/wpt/tests/css/selectors/dir-pseudo-on-input-element.html b/tests/wpt/tests/css/selectors/dir-pseudo-on-input-element.html index b61a829b30a..db528d4079b 100644 --- a/tests/wpt/tests/css/selectors/dir-pseudo-on-input-element.html +++ b/tests/wpt/tests/css/selectors/dir-pseudo-on-input-element.html @@ -129,6 +129,30 @@ for (let type of ['text', 'search', 'url', 'email']) { }, `input element whose type attribute is in the ${type} state`); } +test(() => { + const input = document.createElement('input'); + input.type = 'text'; + // bidirectional character type R + input.value = '\u05EA'; + input.setAttribute('dir', 'auto'); + + const container = document.createElement('div'); + container.appendChild(input); + + assert_false(input.matches(':dir(ltr)')); + assert_true(input.matches(':dir(rtl)')); + + // Changing to a different type that does't use value causes the bidi rule to no longer apply. + input.type = 'password'; + assert_true(input.matches(':dir(ltr)')); + assert_false(input.matches(':dir(rtl)')); + + // And restoring type=text brings back that behavior. + input.type = 'text'; + assert_false(input.matches(':dir(ltr)')); + assert_true(input.matches(':dir(rtl)')); +}, 'dynamic changes to type of input elements affect whether value is used for dir=auto'); + for (let type of ['password', 'date', 'time', 'number', 'range', 'color', 'checkbox', 'radio', 'submit', 'image', 'reset', 'button']) { test(() => { diff --git a/tests/wpt/tests/css/selectors/dir-style-01a.html b/tests/wpt/tests/css/selectors/dir-style-01a.html index e362cd838d5..f379d14e189 100644 --- a/tests/wpt/tests/css/selectors/dir-style-01a.html +++ b/tests/wpt/tests/css/selectors/dir-style-01a.html @@ -8,7 +8,7 @@ - + + + +
    Some text
    + + + diff --git a/tests/wpt/tests/css/selectors/invalidation/empty-pseudo-in-has.html b/tests/wpt/tests/css/selectors/invalidation/empty-pseudo-in-has.html index 83cf0515656..4e9f6f27378 100644 --- a/tests/wpt/tests/css/selectors/invalidation/empty-pseudo-in-has.html +++ b/tests/wpt/tests/css/selectors/invalidation/empty-pseudo-in-has.html @@ -34,4 +34,12 @@ child.appendChild(document.createElement("div")); testColor("Insert div to div.#child", blue); - \ No newline at end of file +child.replaceChildren(); +testColor("Remove div from div.#child", green); + +child.textContent = "Test"; +testColor("Insert text into div.#child", blue); + +child.textContent = ""; +testColor("Remove text from div.#child", green); + diff --git a/tests/wpt/tests/css/selectors/invalidation/has-sibling-insertion-removal.html b/tests/wpt/tests/css/selectors/invalidation/has-sibling-insertion-removal.html new file mode 100644 index 00000000000..1331a22ad55 --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/has-sibling-insertion-removal.html @@ -0,0 +1,186 @@ + + +:has() invalidation for sibling insertion and removal + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + diff --git a/tests/wpt/tests/css/selectors/invalidation/has-side-effect.html b/tests/wpt/tests/css/selectors/invalidation/has-side-effect.html new file mode 100644 index 00000000000..0ea0dee993f --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/has-side-effect.html @@ -0,0 +1,43 @@ + + +CSS Selector Invalidation: Invalidate :has() as result of insertion/removal + + + + + + + +
    +
    +
    +
    +
    +
    + + diff --git a/tests/wpt/tests/css/selectors/invalidation/has-unstyled.html b/tests/wpt/tests/css/selectors/invalidation/has-unstyled.html new file mode 100644 index 00000000000..6a64e493587 --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/has-unstyled.html @@ -0,0 +1,77 @@ + + +CSS Selector Invalidation: :has() affected by unstyled elements + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/tests/wpt/tests/css/selectors/invalidation/host-context-pseudo-class-in-has.html b/tests/wpt/tests/css/selectors/invalidation/host-context-pseudo-class-in-has.html new file mode 100644 index 00000000000..ca140af6b34 --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/host-context-pseudo-class-in-has.html @@ -0,0 +1,56 @@ + + +CSS Test: Invalidation for :host-context() inside :has() + + + + +
    + diff --git a/tests/wpt/tests/css/selectors/invalidation/host-pseudo-class-in-has.html b/tests/wpt/tests/css/selectors/invalidation/host-pseudo-class-in-has.html index a2c63d54635..4d300befa76 100644 --- a/tests/wpt/tests/css/selectors/invalidation/host-pseudo-class-in-has.html +++ b/tests/wpt/tests/css/selectors/invalidation/host-pseudo-class-in-has.html @@ -1,6 +1,6 @@ -CSS Test: Invalidation for :host() and :host-context() inside :has() +CSS Test: Invalidation for :host() inside :has() @@ -13,10 +13,8 @@ .subject { color: red; } - .subject:has(:is(:host-context(.a) > .foo .bar)) { color: green } - .subject:has(:is(:host(.a) > .foo .bar)) { color: yellowgreen } - .subject:has(:is(:host-context(.a) .bar)) { color: blue } - .subject:has(:is(:host(.a) .bar)) { color: skyblue } + .subject:has(:is(:host(.a) > .foo .bar)) { color: green } + .subject:has(:is(:host(.a) .bar)) { color: blue }
    @@ -34,9 +32,7 @@ const red = "rgb(255, 0, 0)"; const green = "rgb(0, 128, 0)"; - const yellowgreen = "rgb(154, 205, 50)"; const blue = "rgb(0, 0, 255)"; - const skyblue = "rgb(135, 206, 235)"; function checkColor(test_name, subject_id, subject_color) { test(function() { @@ -45,21 +41,11 @@ }, test_name + ": Check #" + subject_id + " color"); } - checkColor("Before adding 'a' to #host_parent", "subject1", red); - checkColor("Before adding 'a' to #host_parent", "subject2", red); - - host_parent.classList.add('a'); - - checkColor("After adding 'a' to #host_parent", "subject1", green); - checkColor("After adding 'a' to #host_parent", "subject2", blue); - - host_parent.classList.remove('a'); - - checkColor("After removing 'a' from #host_parent", "subject1", red); - checkColor("After removing 'a' from #host_parent", "subject2", red); + checkColor("Before adding 'a' to #host", "subject1", red); + checkColor("Before adding 'a' to #host", "subject2", red); host.classList.add('a'); - checkColor("After adding 'a' to #host", "subject1", yellowgreen); - checkColor("After adding 'a' to #host", "subject2", skyblue); + checkColor("After adding 'a' to #host", "subject1", green); + checkColor("After adding 'a' to #host", "subject2", blue); diff --git a/tests/wpt/tests/css/selectors/invalidation/input-pseudo-classes-in-has.html b/tests/wpt/tests/css/selectors/invalidation/input-pseudo-classes-in-has.html index 67aeedf315e..a9a1d9f5ee7 100644 --- a/tests/wpt/tests/css/selectors/invalidation/input-pseudo-classes-in-has.html +++ b/tests/wpt/tests/css/selectors/invalidation/input-pseudo-classes-in-has.html @@ -16,6 +16,7 @@ .ancestor:has(#numberinput:out-of-range) { color: darkgreen } .ancestor:has(#numberinput:required) { color: pink } .ancestor:has(#progress:indeterminate) { color: orange } + .ancestor:has(#checkboxinput:default) { color: purple; }
    @@ -24,10 +25,16 @@ +
    diff --git a/tests/wpt/tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html b/tests/wpt/tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html index 4e6d4c8832e..c189b0f4beb 100644 --- a/tests/wpt/tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html +++ b/tests/wpt/tests/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html @@ -376,4 +376,4 @@ testClassChange(removeClass, "m", "child", selector, false, "has_scope", grey); testClassChange(addClass, "n", "child", selector, true, "has_scope", orange); testClassChange(removeClass, "n", "child", selector, false, "has_scope", grey); testClassChange(removeClass, "orange", "has_scope", selector, false, "has_scope", grey); - \ No newline at end of file + diff --git a/tests/wpt/tests/css/selectors/invalidation/part-pseudo-ref.html b/tests/wpt/tests/css/selectors/invalidation/part-pseudo-ref.html new file mode 100644 index 00000000000..aeb724778a7 --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/part-pseudo-ref.html @@ -0,0 +1,13 @@ + + + + CSS Test Reference + + + +
    +
    +
    Should be green
    +
    +
    + diff --git a/tests/wpt/tests/css/selectors/invalidation/part-pseudo.html b/tests/wpt/tests/css/selectors/invalidation/part-pseudo.html new file mode 100644 index 00000000000..a409271762f --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/part-pseudo.html @@ -0,0 +1,23 @@ + + + + CSS Selectors Invalidation: ::part() + + + + + + + +
    + +
    + + diff --git a/tests/wpt/tests/css/selectors/invalidation/placeholder-shown.html b/tests/wpt/tests/css/selectors/invalidation/placeholder-shown.html new file mode 100644 index 00000000000..71233ed2a28 --- /dev/null +++ b/tests/wpt/tests/css/selectors/invalidation/placeholder-shown.html @@ -0,0 +1,34 @@ + +CSS Selectors Test: :placeholder-shown invalidation + + + + + + + diff --git a/tests/wpt/tests/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html b/tests/wpt/tests/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html index c5fcb589a3c..a633c913d16 100644 --- a/tests/wpt/tests/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html +++ b/tests/wpt/tests/css/selectors/parsing/parse-has-disallow-nesting-has-inside-has.html @@ -8,6 +8,12 @@ diff --git a/tests/wpt/tests/css/selectors/parsing/parse-has.html b/tests/wpt/tests/css/selectors/parsing/parse-has.html index 902fc98ff68..3492373a336 100644 --- a/tests/wpt/tests/css/selectors/parsing/parse-has.html +++ b/tests/wpt/tests/css/selectors/parsing/parse-has.html @@ -37,5 +37,5 @@ test_invalid_selector(':has()'); test_invalid_selector(':has(123)'); test_invalid_selector(':has(.a, 123)'); - test_valid_selector(':has(:is(.a, 123))'); + test_valid_selector(':has(:is(.a, 123))', [':has(:is(.a, 123))', ':has(:is(.a))']); diff --git a/tests/wpt/tests/css/selectors/placeholder-shown.html b/tests/wpt/tests/css/selectors/placeholder-shown.html new file mode 100644 index 00000000000..62f6f96a103 --- /dev/null +++ b/tests/wpt/tests/css/selectors/placeholder-shown.html @@ -0,0 +1,41 @@ + +CSS Selectors Test: :placeholder-shown matching + + + + +Should be green +Should be green +Should be green +Should be green +Should be green +Should be green +Should be green + diff --git a/tests/wpt/tests/css/selectors/user-invalid.html b/tests/wpt/tests/css/selectors/user-invalid.html index e7e008e677b..f20d9970715 100644 --- a/tests/wpt/tests/css/selectors/user-invalid.html +++ b/tests/wpt/tests/css/selectors/user-invalid.html @@ -2,6 +2,7 @@ Support for the :user-invalid pseudo-class + @@ -79,7 +80,7 @@ promise_test(async () => { assert_false(requiredTextarea.matches(":user-valid"), "Initially does not match :user-valid"); assert_false(requiredTextarea.matches(":user-invalid"), "Initially does not match :user-invalid"); - await test_driver.click(submitButton); + submitButton.click(); assert_true(requiredInput.matches(":user-invalid"), "Submitted the form, input is validated"); assert_false(requiredInput.matches(":user-valid"), "Submitted the form, input is validated"); @@ -87,13 +88,22 @@ promise_test(async () => { assert_true(requiredTextarea.matches(":user-invalid"), "Submitted the form, textarea is validated"); assert_false(requiredTextarea.matches(":user-valid"), "Submitted the form, textarea is validated"); - await test_driver.click(resetButton); + resetButton.click(); assert_false(requiredInput.matches(":user-valid"), "Reset the form, user-interacted flag is reset"); assert_false(requiredInput.matches(":user-invalid"), "Reset the form, user-interacted flag is reset"); assert_false(requiredTextarea.matches(":user-valid"), "Reset the form, user-interacted flag is reset"); assert_false(requiredTextarea.matches(":user-invalid"), "Reset the form, user-interacted flag is reset"); + + // Test programmatic form submission with constraint validation. + form.requestSubmit(); + + assert_true(requiredInput.matches(":user-invalid"), "Called form.requestSubmit(), input is validated"); + assert_false(requiredInput.matches(":user-valid"), "Called form.requestSubmit(), input is validated"); + + assert_true(requiredTextarea.matches(":user-invalid"), "Called form.requestSubmit(), textarea is validated"); + assert_false(requiredTextarea.matches(":user-valid"), "Called form.requestSubmit(), textarea is validated"); }, ":user-invalid selector properly interacts with submit & reset buttons"); // historical: https://github.com/w3c/csswg-drafts/issues/1329 diff --git a/tests/wpt/tests/css/selectors/user-valid-user-invalid-invalidation.html b/tests/wpt/tests/css/selectors/user-valid-user-invalid-invalidation.html new file mode 100644 index 00000000000..bca20fc99c3 --- /dev/null +++ b/tests/wpt/tests/css/selectors/user-valid-user-invalid-invalidation.html @@ -0,0 +1,57 @@ + + + + + + + + + + + +
    + + +
    + + + + diff --git a/tests/wpt/tests/css/selectors/user-valid.html b/tests/wpt/tests/css/selectors/user-valid.html index 86e756df2ee..9960fc846a0 100644 --- a/tests/wpt/tests/css/selectors/user-valid.html +++ b/tests/wpt/tests/css/selectors/user-valid.html @@ -2,6 +2,7 @@ Support for the :user-valid pseudo-class + @@ -76,7 +77,7 @@ promise_test(async () => { assert_false(optionalTextarea.matches(":user-valid"), "Initially does not match :user-valid"); assert_false(optionalTextarea.matches(":user-invalid"), "Initially does not match :user-invalid"); - await test_driver.click(submitButton); + submitButton.click(); assert_true(optionalInput.matches(":user-valid"), "Submitted the form, input is validated"); assert_false(optionalInput.matches(":user-invalid"), "Submitted the form, input is validated"); @@ -84,12 +85,21 @@ promise_test(async () => { assert_true(optionalTextarea.matches(":user-valid"), "Submitted the form, textarea is validated"); assert_false(optionalTextarea.matches(":user-invalid"), "Submitted the form, textarea is validated"); - await test_driver.click(resetButton); + resetButton.click(); assert_false(optionalInput.matches(":user-valid"), "Reset the form, user-interacted flag is reset"); assert_false(optionalInput.matches(":user-invalid"), "Reset the form, user-interacted flag is reset"); assert_false(optionalTextarea.matches(":user-valid"), "Reset the form, user-interacted flag is reset"); assert_false(optionalTextarea.matches(":user-invalid"), "Reset the form, user-interacted flag is reset"); + + // Test programmatic form submission with constraint validation. + form.requestSubmit(); + + assert_true(optionalInput.matches(":user-valid"), "Called form.requestSubmit(), input is validated"); + assert_false(optionalInput.matches(":user-invalid"), "Called form.requestSubmit(), input is validated"); + + assert_true(optionalTextarea.matches(":user-valid"), "Called form.requestSubmit(), textarea is validated"); + assert_false(optionalTextarea.matches(":user-invalid"), "Called form.requestSubmit(), textarea is validated"); }, ":user-valid selector properly interacts with submit & reset buttons"); diff --git a/tests/wpt/tests/css/selectors/valid-invalid-form-fieldset.html b/tests/wpt/tests/css/selectors/valid-invalid-form-fieldset.html new file mode 100644 index 00000000000..95bfd9c844c --- /dev/null +++ b/tests/wpt/tests/css/selectors/valid-invalid-form-fieldset.html @@ -0,0 +1,75 @@ + + + + + + + + +
    +
    + + +
    +
    + + diff --git a/tests/wpt/tests/css/support/color-testcommon.js b/tests/wpt/tests/css/support/color-testcommon.js new file mode 100644 index 00000000000..44ca0bbb33c --- /dev/null +++ b/tests/wpt/tests/css/support/color-testcommon.js @@ -0,0 +1,81 @@ +'use strict'; + +/** + * Set up a test for color properties that does not expect exact equality for + * numeric values within the color. This is necessary for color-mix and + * relative color syntax, which perform float arithmetic on color channels. + * + * @param {number} epsilon Epsilon for comparison of numeric values. + */ +function set_up_fuzzy_color_test(epsilon) { + if (!epsilon) { + epsilon = 0.01; + } + + // The function + function fuzzy_compare_colors(input, expected) { + const colorElementDividers = /( |\(|,)/; + // Return the string stripped of numbers. + function getNonNumbers(color) { + return color.replace(/[0-9\.]/g, ''); + } + // Return an array of all numbers in the color. + function getNumbers(color) { + const result = []; + color.split(colorElementDividers).forEach(element => { + const numberElement = parseFloat(element); + if (!isNaN(numberElement)) { + result.push(numberElement); + } + }); + return result; + } + + try { + assert_array_approx_equals(getNumbers(input), getNumbers(expected), epsilon, "Numeric parameters are approximately equal."); + // Assert that the text of the two colors are equal. i.e. colorSpace, colorFunction and format. + assert_equals(getNonNumbers(input), getNonNumbers(expected), "Color format is correct."); + } catch (error) { + throw `Colors do not match.\nActual: ${input}\nExpected: ${expected}.\n${error}` + } + } + + return fuzzy_compare_colors; +} + +/** + * Test the computed value of a color with some tolerance for numeric parameters. + * + * @param {string} specified A specified value for the color. + * @param {string} computed The expected computed color. If omitted, defaults + * to the default test_computed_value test, as + * fuzziness is unnecessary. + * @param {object} epsilon Epsilon for comparison of numeric values. + */ + +function fuzzy_test_computed_color(specified, computed, epsilon) { + if (!computed) { + test_computed_value("color", specified); + return; + } + + test_computed_value("color", specified, computed, undefined /* titleExtra */, {comparisonFunction: set_up_fuzzy_color_test(epsilon)}); +} + +/** + * Test the parsed value of a color. + * + * @param {string} specified A specified value for the property. + * @param {string} parsed The expected parsed color. If omitted, defaults + * to the default test_valid_value test, as + * fuzziness is unnecessary. + * @param {object} epsilon Epsilon for comparison of numeric values. + */ +function fuzzy_test_valid_color(specified, parsed, epsilon) { + if (!parsed) { + test_valid_value("color", specified); + return; + } + + test_valid_value("color", specified, parsed, {comparisonFunction: set_up_fuzzy_color_test(epsilon)}); +} diff --git a/tests/wpt/tests/css/support/computed-testcommon.js b/tests/wpt/tests/css/support/computed-testcommon.js index 31bf451ecf3..8e746258061 100644 --- a/tests/wpt/tests/css/support/computed-testcommon.js +++ b/tests/wpt/tests/css/support/computed-testcommon.js @@ -9,8 +9,13 @@ * @param {string|array} computed The expected computed value, * or an array of permitted computed value. * If omitted, defaults to specified. + * @param {string} titleExtra Additional information to put in test output. + * @param {object} options Additional test information, such as a custom + * comparison function required for color tests. + * comparisonFunction is a function that takes two + * arguments, actual and expected and contains asserts. */ -function test_computed_value(property, specified, computed, titleExtra) { +function test_computed_value(property, specified, computed, titleExtra, options = {}) { if (!computed) computed = specified; @@ -22,13 +27,12 @@ function test_computed_value(property, specified, computed, titleExtra) { target.style[property] = specified; let readValue = getComputedStyle(target)[property]; - if (Array.isArray(computed)) { + if (options.comparisonFunction) { + options.comparisonFunction(readValue, computed); + } else if (Array.isArray(computed)) { assert_in_array(readValue, computed); } else { - if (property == "color") - colorValuesAlmostEqual(readValue, computed, 0.0001, 1); - else - assert_equals(readValue, computed); + assert_equals(readValue, computed); } if (readValue !== specified) { target.style[property] = ''; @@ -39,32 +43,6 @@ function test_computed_value(property, specified, computed, titleExtra) { }, `Property ${property} value '${specified}'${titleExtra ? ' ' + titleExtra : ''}`); } -function colorValuesAlmostEqual(color1, color2, float_epsilon, integer_epsilon) { - // Legacy color formats use integers in [0, 255] and thus will have wider epsilons - const epsilon = getNonNumbers(color1).startsWith("rgb") ? integer_epsilon : float_epsilon; - // Colors can be split by spaces, commas or the '(' character. - const colorElementDividers = /( |\(|,)/; - // Return the string stripped of numbers. - function getNonNumbers(color) { - return color.replace(/[0-9]/g, ''); - } - // Return an array of all numbers in the color. - function getNumbers(color) { - const result = []; - color.split(colorElementDividers).forEach(element => { - const numberElement = parseFloat(element); - if (!isNaN(numberElement)) { - result.push(numberElement); - } - }); - return result; - } - - assert_array_approx_equals(getNumbers(color1), getNumbers(color2), epsilon, "Numeric parameters are approximately equal."); - // Assert that the text of the two colors are equal. i.e. colorSpace, colorFunction and format. - assert_equals(getNonNumbers(color1), getNonNumbers(color2), "Color format is correct."); -} - function testComputedValueGreaterOrLowerThan(property, specified, expected, titleExtra) { test(() => { const target = document.getElementById('target'); diff --git a/tests/wpt/tests/css/support/parsing-testcommon.js b/tests/wpt/tests/css/support/parsing-testcommon.js index cc040be5116..e480f26b3f3 100644 --- a/tests/wpt/tests/css/support/parsing-testcommon.js +++ b/tests/wpt/tests/css/support/parsing-testcommon.js @@ -1,9 +1,20 @@ 'use strict'; -// serializedValue can be the expected serialization of value, -// or an array of permitted serializations, -// or omitted if value should serialize as value. -function test_valid_value(property, value, serializedValue) { +/** + * Create test that a CSS property computes to the expected value. + * The document element #target is used to perform the test. + * + * @param {string} property The name of the CSS property being tested. + * @param {string} value A specified value for the property. + * @param {string|array} serializedValue The expected serialized value, + * or an array of permitted serializations. + * If omitted, defaults to the specified value. + * @param {object} options Additional test information, such as a custom + * comparison function required for color tests. + * comparisonFunction is a function that takes two + * arguments, actual and expected and contains asserts. + */ +function test_valid_value(property, value, serializedValue, options = {}) { if (arguments.length < 3) serializedValue = value; @@ -15,7 +26,9 @@ function test_valid_value(property, value, serializedValue) { div.style[property] = value; var readValue = div.style.getPropertyValue(property); assert_not_equals(readValue, "", "property should be set"); - if (Array.isArray(serializedValue)) + if (options.comparisonFunction) + options.comparisonFunction(readValue, serializedValue); + else if (Array.isArray(serializedValue)) assert_in_array(readValue, serializedValue, "serialization should be sound"); else assert_equals(readValue, serializedValue, "serialization should be canonical"); @@ -163,4 +176,4 @@ function test_keyframes_name_invalid(keyframes_name) { const sheet = _set_style(`@keyframes ${keyframes_name} {}`); assert_equals(sheet.cssRules.length, 0); }, `invalid: @keyframes ${keyframes_name} { }`); -} \ No newline at end of file +} diff --git a/tests/wpt/tests/css/zoom/tentative/basic-ref.html b/tests/wpt/tests/css/zoom/tentative/basic-ref.html new file mode 100644 index 00000000000..5de90caf7f0 --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/basic-ref.html @@ -0,0 +1,10 @@ + + +CSS test reference + +
    +
    diff --git a/tests/wpt/tests/css/zoom/tentative/basic.html b/tests/wpt/tests/css/zoom/tentative/basic.html new file mode 100644 index 00000000000..fcd1761cfad --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/basic.html @@ -0,0 +1,15 @@ + + +zoom property: basic test + + + + +
    +
    diff --git a/tests/wpt/tests/css/zoom/tentative/green-square-100px.html b/tests/wpt/tests/css/zoom/tentative/green-square-100px.html new file mode 100644 index 00000000000..6677176230e --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/green-square-100px.html @@ -0,0 +1,3 @@ + + +
    diff --git a/tests/wpt/tests/css/zoom/tentative/inherited-length.html b/tests/wpt/tests/css/zoom/tentative/inherited-length.html new file mode 100644 index 00000000000..2bc04ff0cbe --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/inherited-length.html @@ -0,0 +1,14 @@ + + +zoom property: inherited length into zoom + + + + +
    +
    +
    diff --git a/tests/wpt/tests/css/zoom/tentative/inherited.html b/tests/wpt/tests/css/zoom/tentative/inherited.html new file mode 100644 index 00000000000..baa7f7ed8ac --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/inherited.html @@ -0,0 +1,20 @@ + + +Effective zoom value is inherited + + + + +
    +
    +
    +
    diff --git a/tests/wpt/tests/css/zoom/tentative/parsing/zoom-computed.html b/tests/wpt/tests/css/zoom/tentative/parsing/zoom-computed.html new file mode 100644 index 00000000000..37379014909 --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/parsing/zoom-computed.html @@ -0,0 +1,22 @@ + + +CSS Test: getComputedStyle().zoom + + + +
    + diff --git a/tests/wpt/tests/css/zoom/tentative/parsing/zoom-valid.html b/tests/wpt/tests/css/zoom/tentative/parsing/zoom-valid.html new file mode 100644 index 00000000000..3db16e0748b --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/parsing/zoom-valid.html @@ -0,0 +1,26 @@ + + +CSS Test: parsing zoom with valid and invalid values + + + + + + + diff --git a/tests/wpt/tests/css/zoom/tentative/scrollbar-crash.html b/tests/wpt/tests/css/zoom/tentative/scrollbar-crash.html new file mode 100644 index 00000000000..791022407fd --- /dev/null +++ b/tests/wpt/tests/css/zoom/tentative/scrollbar-crash.html @@ -0,0 +1,2 @@ + + +
    diff --git a/tests/wpt/tests/editing/other/editable-state-and-focus-in-assigned-slot-dom.tentative.html b/tests/wpt/tests/editing/other/editable-state-and-focus-in-assigned-slot-dom.tentative.html
    new file mode 100644
    index 00000000000..ae8b1452832
    --- /dev/null
    +++ b/tests/wpt/tests/editing/other/editable-state-and-focus-in-assigned-slot-dom.tentative.html
    @@ -0,0 +1,31 @@
    +
    +
    +
    +
    +Testing editable state and focus in slotted editable element
    +
    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/tests/wpt/tests/editing/other/insertparagraph-in-non-splittable-element.html b/tests/wpt/tests/editing/other/insertparagraph-in-non-splittable-element.html index 21aa495bd67..c77862fecb2 100644 --- a/tests/wpt/tests/editing/other/insertparagraph-in-non-splittable-element.html +++ b/tests/wpt/tests/editing/other/insertparagraph-in-non-splittable-element.html @@ -26,10 +26,7 @@ const tests = [ selector: "caption", initial: "
    abc
    abc
    ", // can have paragraphs so that it should be handled as in a block. - expected: [ - "

    abc
    abc
    ", - "

    abc
    abc
    ", - ], + expected: "

    abc
    abc
    ", }, { selector: "col", diff --git a/tests/wpt/tests/editing/other/insertparagraph-with-white-space-style.tentative.html b/tests/wpt/tests/editing/other/insertparagraph-with-white-space-style.tentative.html index 496c073b5f8..3c9f1848f50 100644 --- a/tests/wpt/tests/editing/other/insertparagraph-with-white-space-style.tentative.html +++ b/tests/wpt/tests/editing/other/insertparagraph-with-white-space-style.tentative.html @@ -17,14 +17,15 @@
    + + + + + + + + + + + diff --git a/tests/wpt/tests/fenced-frame/automatic-beacon-two-events-clear.https.html b/tests/wpt/tests/fenced-frame/automatic-beacon-two-events-clear.https.html index 61543ffa485..28a34bf8fbf 100644 --- a/tests/wpt/tests/fenced-frame/automatic-beacon-two-events-clear.https.html +++ b/tests/wpt/tests/fenced-frame/automatic-beacon-two-events-clear.https.html @@ -41,17 +41,13 @@ promise_test(async(t) => { assert_equals(received_beacon_data_1, beacon_data); // The second click should not have any associated automatic beacon data, so - // no beacon should be sent. + // an empty beacon should be sent. await actions.pointerMove(0, 0, {origin: fencedframe.element}) .pointerDown() .pointerUp() .send(); - - // Set up a timeout to ensure that there's enough time to send any potential - // automatic beacons. - const timeout = new Promise(resolve => t.step_timeout(resolve, 1000)); - const result = await Promise.race([nextAutomaticBeacon(), timeout]); - assert_true(typeof result === "undefined"); + const received_beacon_data_2 = await nextAutomaticBeacon(); + assert_equals(received_beacon_data_2, ""); }, 'Set expiring automatic beacon but trigger two events in a click handler'); diff --git a/tests/wpt/tests/fenced-frame/disallowed-navigations-dangling-markup-urn.https.html b/tests/wpt/tests/fenced-frame/disallowed-navigations-dangling-markup-urn.https.html index eceb2a4a901..a36f98f9755 100644 --- a/tests/wpt/tests/fenced-frame/disallowed-navigations-dangling-markup-urn.https.html +++ b/tests/wpt/tests/fenced-frame/disallowed-navigations-dangling-markup-urn.https.html @@ -20,7 +20,7 @@ for (const substring of kDanglingMarkupSubstrings) { const key = token(); // Copied from from `generateURNFromFlege()`, since we have to modify the - // final URL that goes into `interestGroup.ads[0].renderUrl` for + // final URL that goes into `interestGroup.ads[0].renderURL` for // `navigator.joinAdInterestGroup()`. const bidding_token = token(); const seller_token = token(); @@ -32,8 +32,8 @@ for (const substring of kDanglingMarkupSubstrings) { const interestGroup = { name: 'testAd1', owner: location.origin, - biddingLogicUrl: new URL(FLEDGE_BIDDING_URL, location.origin), - ads: [{renderUrl: url_string, bid: 1}], + biddingLogicURL: new URL(FLEDGE_BIDDING_URL, location.origin), + ads: [{renderURL: url_string, bid: 1}], userBiddingSignals: {biddingToken: bidding_token}, trustedBiddingSignalsKeys: ['key1'], adComponents: [], @@ -46,7 +46,7 @@ for (const substring of kDanglingMarkupSubstrings) { const auctionConfig = { seller: location.origin, interestGroupBuyers: [location.origin], - decisionLogicUrl: new URL(FLEDGE_DECISION_URL, location.origin), + decisionLogicURL: new URL(FLEDGE_DECISION_URL, location.origin), auctionSignals: {biddingToken: bidding_token, sellerToken: seller_token}, }; diff --git a/tests/wpt/tests/fenced-frame/navigator-subapp.https.html b/tests/wpt/tests/fenced-frame/navigator-subapp.https.html index c5b980537b3..843d2565543 100644 --- a/tests/wpt/tests/fenced-frame/navigator-subapp.https.html +++ b/tests/wpt/tests/fenced-frame/navigator-subapp.https.html @@ -12,12 +12,12 @@ promise_test(async () => { const frame = attachFencedFrameContext(); const result = await frame.execute(async () => { const expected_error_message = - 'Failed to execute \'list\' on \'SubApps\': API is only supported in primary top-level browsing contexts.'; + 'Cannot read properties of undefined (reading \'list\')'; try { const list = await navigator.subApps.list(); return 'navigator.subApps.list() succeeded'; } catch (e) { - if (e.name === 'InvalidStateError' && + if (e.name === 'TypeError' && e.message === expected_error_message) { return 'navigator.subApps.list() was disallowed'; } diff --git a/tests/wpt/tests/fenced-frame/resources/automatic-beacon-store.py b/tests/wpt/tests/fenced-frame/resources/automatic-beacon-store.py index f783c8530c4..0a4af50ae69 100644 --- a/tests/wpt/tests/fenced-frame/resources/automatic-beacon-store.py +++ b/tests/wpt/tests/fenced-frame/resources/automatic-beacon-store.py @@ -10,16 +10,19 @@ BEACON_KEY = "0c02dba4-f01e-11ed-a05b-0242ac120003" def main(request, response): - # Requests with a body imply they were sent as an automatic beacon for - # reserved.top_navigation. Note that this only stores the most recent beacon - # that was sent. - if request.body: - request.server.stash.put(BEACON_KEY, request.body) - return (200, [], b"") + stash = request.server.stash; - # Requests without a body imply they were sent as the request from - # nextAutomaticBeacon(). - data = request.server.stash.take(BEACON_KEY) - if not data and data != "": - return (200, [], b"") - return (200, [], data) + # The stash is accessed concurrently by many clients. A lock is used to + # avoid interleaved read/write from different clients. + with stash.lock: + # Requests with a body imply they were sent as an automatic beacon for + # reserved.top_navigation. Note that this only stores the most recent + # beacon that was sent. + if request.method == "POST": + stash.put(BEACON_KEY, request.body or "") + return (200, [], b"") + + # Requests without a body imply they were sent as the request from + # nextAutomaticBeacon(). + data = stash.take(BEACON_KEY) or "" + return(200, [], data) diff --git a/tests/wpt/tests/fenced-frame/resources/fledge-bidding-logic.py b/tests/wpt/tests/fenced-frame/resources/fledge-bidding-logic.py index 85c78acb8bc..d1178c8a7a0 100644 --- a/tests/wpt/tests/fenced-frame/resources/fledge-bidding-logic.py +++ b/tests/wpt/tests/fenced-frame/resources/fledge-bidding-logic.py @@ -11,7 +11,7 @@ def main(request, response): # Set up response headers. headers = [ ('Content-Type', 'Application/Javascript'), - ('X-Allow-FLEDGE', 'true') + ('Ad-Auction-Allowed', 'true') ] # Parse URL params. @@ -37,15 +37,15 @@ def main(request, response): ''' ) - render_obj = 'ad.renderUrl' + render_obj = 'ad.renderURL' if ad_with_size is not None: - render_obj = '{ url: ad.renderUrl, width: "100px", height: "50px" }' + render_obj = '{ url: ad.renderURL, width: "100px", height: "50px" }' - component_render_obj = 'component.renderUrl' + component_render_obj = 'component.renderURL' if ad_with_size is not None: component_render_obj = ( '''{ - url: component.renderUrl, + url: component.renderURL, width: "100px", height: "50px" } diff --git a/tests/wpt/tests/fenced-frame/resources/fledge-decision-logic.py b/tests/wpt/tests/fenced-frame/resources/fledge-decision-logic.py index bd615af835b..63b544552c0 100644 --- a/tests/wpt/tests/fenced-frame/resources/fledge-decision-logic.py +++ b/tests/wpt/tests/fenced-frame/resources/fledge-decision-logic.py @@ -11,7 +11,7 @@ def main(request, response): # Set up response headers. headers = [ ('Content-Type', 'Application/Javascript'), - ('X-Allow-FLEDGE', 'true') + ('Ad-Auction-Allowed', 'true') ] # Parse URL params. diff --git a/tests/wpt/tests/fenced-frame/resources/utils.js b/tests/wpt/tests/fenced-frame/resources/utils.js index a402dfdde4a..255e55dd24a 100644 --- a/tests/wpt/tests/fenced-frame/resources/utils.js +++ b/tests/wpt/tests/fenced-frame/resources/utils.js @@ -79,31 +79,31 @@ async function generateURNFromFledgeRawURL( const ad_components_list = nested_urls.map((url) => { return ad_with_size ? - { renderUrl: url, sizeGroup: "group1" } : - { renderUrl: url } + { renderURL: url, sizeGroup: "group1" } : + { renderURL: url } }); let interestGroup = { name: 'testAd1', owner: location.origin, - biddingLogicUrl: new URL(FLEDGE_BIDDING_URL, location.origin), - ads: [{renderUrl: href, bid: 1}], + biddingLogicURL: new URL(FLEDGE_BIDDING_URL, location.origin), + ads: [{renderURL: href, bid: 1}], userBiddingSignals: {biddingToken: bidding_token}, trustedBiddingSignalsKeys: ['key1'], adComponents: ad_components_list, }; - let biddingUrlParams = - new URLSearchParams(interestGroup.biddingLogicUrl.search); + let biddingURLParams = + new URLSearchParams(interestGroup.biddingLogicURL.search); if (requested_size) - biddingUrlParams.set( + biddingURLParams.set( 'requested-size', requested_size[0] + '-' + requested_size[1]); if (ad_with_size) - biddingUrlParams.set('ad-with-size', 1); + biddingURLParams.set('ad-with-size', 1); if (automatic_beacon) - biddingUrlParams.set('automatic-beacon', 1); - interestGroup.biddingLogicUrl.search = biddingUrlParams; + biddingURLParams.set('automatic-beacon', 1); + interestGroup.biddingLogicURL.search = biddingURLParams; if (ad_with_size) { interestGroup.ads[0].sizeGroup = 'group1'; @@ -118,17 +118,17 @@ async function generateURNFromFledgeRawURL( let auctionConfig = { seller: location.origin, interestGroupBuyers: [location.origin], - decisionLogicUrl: new URL(FLEDGE_DECISION_URL, location.origin), + decisionLogicURL: new URL(FLEDGE_DECISION_URL, location.origin), auctionSignals: {biddingToken: bidding_token, sellerToken: seller_token}, resolveToConfig: resolve_to_config }; if (requested_size) { - let decisionUrlParams = - new URLSearchParams(auctionConfig.decisionLogicUrl.search); - decisionUrlParams.set( + let decisionURLParams = + new URLSearchParams(auctionConfig.decisionLogicURL.search); + decisionURLParams.set( 'requested-size', requested_size[0] + '-' + requested_size[1]); - auctionConfig.decisionLogicUrl.search = decisionUrlParams; + auctionConfig.decisionLogicURL.search = decisionURLParams; auctionConfig['requestedSize'] = {width: requested_size[0], height: requested_size[1]}; } @@ -462,8 +462,8 @@ async function readValueFromServer(key) { // Resolve the key if it is a Promise. key = await key; - const serverUrl = `${STORE_URL}?key=${key}`; - const response = await fetch(serverUrl); + const serverURL = `${STORE_URL}?key=${key}`; + const response = await fetch(serverURL); if (!response.ok) throw new Error('An error happened in the server'); const value = await response.text(); @@ -496,8 +496,8 @@ async function nextValueFromServer(key) { // Reads the data from the latest automatic beacon sent to the server. async function readAutomaticBeaconDataFromServer() { - const serverUrl = `${BEACON_URL}`; - const response = await fetch(serverUrl); + const serverURL = `${BEACON_URL}`; + const response = await fetch(serverURL); if (!response.ok) throw new Error('An error happened in the server'); const value = await response.text(); @@ -530,8 +530,8 @@ async function writeValueToServer(key, value, origin = '') { // Resolve the key if it is a Promise. key = await key; - const serverUrl = `${origin}${STORE_URL}?key=${key}&value=${value}`; - await fetch(serverUrl, {"mode": "no-cors"}); + const serverURL = `${origin}${STORE_URL}?key=${key}&value=${value}`; + await fetch(serverURL, {"mode": "no-cors"}); } // Simulates a user gesture. diff --git a/tests/wpt/tests/fetch/api/basic/request-forbidden-headers.any.js b/tests/wpt/tests/fetch/api/basic/request-forbidden-headers.any.js index 511ce601e7c..d7560f03a23 100644 --- a/tests/wpt/tests/fetch/api/basic/request-forbidden-headers.any.js +++ b/tests/wpt/tests/fetch/api/basic/request-forbidden-headers.any.js @@ -1,21 +1,6 @@ // META: global=window,worker // META: script=../resources/utils.js -function requestForbiddenHeaders(desc, forbiddenHeaders) { - var url = RESOURCES_DIR + "inspect-headers.py"; - var requestInit = {"headers": forbiddenHeaders} - var urlParameters = "?headers=" + Object.keys(forbiddenHeaders).join("|"); - - promise_test(function(test){ - return fetch(url + urlParameters, requestInit).then(function(resp) { - assert_equals(resp.status, 200, "HTTP status is 200"); - assert_equals(resp.type , "basic", "Response's type is basic"); - for (var header in forbiddenHeaders) - assert_not_equals(resp.headers.get("x-request-" + header), forbiddenHeaders[header], header + " does not have the value we defined"); - }); - }, desc); -} - function requestValidOverrideHeaders(desc, validHeaders) { var url = RESOURCES_DIR + "inspect-headers.py"; var requestInit = {"headers": validHeaders} @@ -36,9 +21,6 @@ requestForbiddenHeaders("Accept-Encoding is a forbidden request header", {"Accep requestForbiddenHeaders("Access-Control-Request-Headers is a forbidden request header", {"Access-Control-Request-Headers": ""}); requestForbiddenHeaders("Access-Control-Request-Method is a forbidden request header", {"Access-Control-Request-Method": ""}); -requestForbiddenHeaders( - 'Access-Control-Request-Private-Network is a forbidden request header', - {'Access-Control-Request-Private-Network': ''}); requestForbiddenHeaders("Connection is a forbidden request header", {"Connection": "close"}); requestForbiddenHeaders("Content-Length is a forbidden request header", {"Content-Length": "42"}); requestForbiddenHeaders("Cookie is a forbidden request header", {"Cookie": "cookie=none"}); diff --git a/tests/wpt/tests/fetch/api/basic/request-private-network-headers.tentative.any.js b/tests/wpt/tests/fetch/api/basic/request-private-network-headers.tentative.any.js new file mode 100644 index 00000000000..9662a91c177 --- /dev/null +++ b/tests/wpt/tests/fetch/api/basic/request-private-network-headers.tentative.any.js @@ -0,0 +1,18 @@ +// META: global=window,worker +// META: script=../resources/utils.js + +requestForbiddenHeaders( + 'Access-Control-Request-Private-Network is a forbidden request header', + {'Access-Control-Request-Private-Network': ''}); + +var invalidRequestHeaders = [ + ["Access-Control-Request-Private-Network", "KO"], +]; + +invalidRequestHeaders.forEach(function(header) { + test(function() { + var request = new Request(""); + request.headers.set(header[0], header[1]); + assert_equals(request.headers.get(header[0]), null); + }, "Adding invalid request header \"" + header[0] + ": " + header[1] + "\""); +}); diff --git a/tests/wpt/tests/fetch/api/basic/scheme-blob.sub.any.js b/tests/wpt/tests/fetch/api/basic/scheme-blob.sub.any.js index a6059ea93d9..8afdc033c9d 100644 --- a/tests/wpt/tests/fetch/api/basic/scheme-blob.sub.any.js +++ b/tests/wpt/tests/fetch/api/basic/scheme-blob.sub.any.js @@ -57,6 +57,10 @@ let empty_data_blob = new Blob([], {type: "text/plain"}); checkFetchResponse(URL.createObjectURL(empty_data_blob), "", "text/plain", 0, "Fetching URL.createObjectURL(empty_data_blob) is OK"); +let invalid_type_blob = new Blob([], {type: "invalid"}); +checkFetchResponse(URL.createObjectURL(invalid_type_blob), "", "", 0, + "Fetching URL.createObjectURL(invalid_type_blob) is OK"); + promise_test(function(test) { return fetch("/images/blue.png").then(function(resp) { return resp.arrayBuffer(); diff --git a/tests/wpt/tests/fetch/api/basic/url-parsing.sub.html b/tests/wpt/tests/fetch/api/basic/url-parsing.sub.html new file mode 100644 index 00000000000..fa47b29473a --- /dev/null +++ b/tests/wpt/tests/fetch/api/basic/url-parsing.sub.html @@ -0,0 +1,33 @@ + + + + + + + + +
    + diff --git a/tests/wpt/tests/fetch/api/request/request-headers.any.js b/tests/wpt/tests/fetch/api/request/request-headers.any.js index 22925e01b69..a766bcb5fff 100644 --- a/tests/wpt/tests/fetch/api/request/request-headers.any.js +++ b/tests/wpt/tests/fetch/api/request/request-headers.any.js @@ -18,7 +18,6 @@ var invalidRequestHeaders = [ ["Accept-Encoding", "KO"], ["Access-Control-Request-Headers", "KO"], ["Access-Control-Request-Method", "KO"], - ["Access-Control-Request-Private-Network", "KO"], ["Connection", "KO"], ["Content-Length", "KO"], ["Cookie", "KO"], diff --git a/tests/wpt/tests/fetch/api/resources/utils.js b/tests/wpt/tests/fetch/api/resources/utils.js index 3b20ecc8346..3721d9bf9cc 100644 --- a/tests/wpt/tests/fetch/api/resources/utils.js +++ b/tests/wpt/tests/fetch/api/resources/utils.js @@ -103,3 +103,18 @@ function delay(milliseconds) step_timeout(resolve, milliseconds); }); } + +function requestForbiddenHeaders(desc, forbiddenHeaders) { + var url = RESOURCES_DIR + "inspect-headers.py"; + var requestInit = {"headers": forbiddenHeaders} + var urlParameters = "?headers=" + Object.keys(forbiddenHeaders).join("|"); + + promise_test(function(test){ + return fetch(url + urlParameters, requestInit).then(function(resp) { + assert_equals(resp.status, 200, "HTTP status is 200"); + assert_equals(resp.type , "basic", "Response's type is basic"); + for (var header in forbiddenHeaders) + assert_not_equals(resp.headers.get("x-request-" + header), forbiddenHeaders[header], header + " does not have the value we defined"); + }); + }, desc); +} diff --git a/tests/wpt/tests/fetch/api/response/response-headers-guard.any.js b/tests/wpt/tests/fetch/api/response/response-headers-guard.any.js new file mode 100644 index 00000000000..4a67d067a71 --- /dev/null +++ b/tests/wpt/tests/fetch/api/response/response-headers-guard.any.js @@ -0,0 +1,8 @@ +// META: global=window,worker +// META: title=Response: error static method + +promise_test (async () => { + const response = await fetch("../resources/data.json"); + assert_throws_js(TypeError, () => { response.headers.append("name", "value"); }); + assert_not_equals(response.headers.get("name"), "value", "response headers should be immutable"); +}, "Ensure response headers are immutable"); diff --git a/tests/wpt/tests/fetch/api/response/response-static-error.any.js b/tests/wpt/tests/fetch/api/response/response-static-error.any.js index 1f8c49ab006..4097eab37b4 100644 --- a/tests/wpt/tests/fetch/api/response/response-static-error.any.js +++ b/tests/wpt/tests/fetch/api/response/response-static-error.any.js @@ -11,18 +11,6 @@ test(function() { assert_true(responseError.headers.entries().next().done, "Headers should be empty"); }, "Check response returned by static method error()"); -promise_test (async function() { - let response = await fetch("../resources/data.json"); - - try { - response.headers.append('name', 'value'); - } catch (e) { - assert_equals(e.constructor.name, "TypeError"); - } - - assert_not_equals(response.headers.get("name"), "value", "response headers should be immutable"); -}, "Ensure response headers are immutable"); - test(function() { const headers = Response.error().headers; diff --git a/tests/wpt/tests/fetch/fetch-later/basic.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/basic.tentative.https.window.js index a8ca011a7c9..0870f1c273a 100644 --- a/tests/wpt/tests/fetch/fetch-later/basic.tentative.https.window.js +++ b/tests/wpt/tests/fetch/fetch-later/basic.tentative.https.window.js @@ -7,7 +7,43 @@ test(() => { assert_throws_js(TypeError, () => fetchLater()); }, `fetchLater() cannot be called without request.`); +test(() => { + assert_throws_js(TypeError, () => fetchLater('http://www.google.com')); + assert_throws_js(TypeError, () => fetchLater('file://tmp')); + assert_throws_js(TypeError, () => fetchLater('ssh://example.com')); + assert_throws_js(TypeError, () => fetchLater('wss://example.com')); + assert_throws_js(TypeError, () => fetchLater('about:blank')); + assert_throws_js(TypeError, () => fetchLater(`javascript:alert('');`)); +}, `fetchLater() throws TypeError on non-HTTPS URL.`); + +test(() => { + assert_throws_js( + RangeError, + () => fetchLater('https://www.google.com', {activationTimeout: -1})); +}, `fetchLater() throws RangeError on negative activationTimeout.`); + test(() => { const result = fetchLater('/'); - assert_false(result.sent); + assert_false(result.activated); }, `fetchLater()'s return tells the deferred request is not yet sent.`); + +test(() => { + const result = fetchLater('/'); + assert_throws_js(TypeError, () => result.activated = true); +}, `fetchLater() throws TypeError when mutating its returned state.`); + +test(() => { + const controller = new AbortController(); + // Immediately aborts the controller. + controller.abort(); + assert_throws_dom( + 'AbortError', () => fetchLater('/', {signal: controller.signal})); +}, `fetchLater() throws AbortError when its initial abort signal is aborted.`); + +test(() => { + const controller = new AbortController(); + const result = fetchLater('/', {signal: controller.signal}); + assert_false(result.activated); + controller.abort(); + assert_false(result.activated); +}, `fetchLater() does not throw error when it is aborted before sending.`); diff --git a/tests/wpt/tests/fetch/fetch-later/quota.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/quota.tentative.https.window.js new file mode 100644 index 00000000000..4fc5979374c --- /dev/null +++ b/tests/wpt/tests/fetch/fetch-later/quota.tentative.https.window.js @@ -0,0 +1,130 @@ +// META: script=/resources/testharness.js +// META: script=/resources/testharnessreport.js +// META: script=/common/get-host-info.sub.js +// META: script=/common/utils.js +// META: script=/pending-beacon/resources/pending_beacon-helper.js + +'use strict'; + +const kQuotaPerOrigin = 64 * 1024; // 64 kilobytes per spec. +const {ORIGIN, HTTPS_NOTSAMESITE_ORIGIN} = get_host_info(); + +// Runs a test case that cover a single fetchLater() call with `body` in its +// request payload. The call is not expected to throw any errors. +function fetchLaterPostTest(body, description) { + test(() => { + const controller = new AbortController(); + const result = fetchLater( + '/fetch-later', + {method: 'POST', signal: controller.signal, body: body}); + assert_false(result.activated); + // Release quota taken by the pending request for subsequent tests. + controller.abort(); + }, description); +} + +// Test small payload for each supported data types. +for (const [dataType, skipCharset] of Object.entries( + BeaconDataTypeToSkipCharset)) { + fetchLaterPostTest( + makeBeaconData(generateSequentialData(0, 1024, skipCharset), dataType), + `A fetchLater() call accept small data in POST request of ${dataType}.`); +} + +// Test various size of payloads for the same origin. +for (const dataType in BeaconDataType) { + if (dataType !== BeaconDataType.FormData && + dataType !== BeaconDataType.URLSearchParams) { + // Skips FormData & URLSearchParams, as browser adds extra bytes to them + // in addition to the user-provided content. It is difficult to test a + // request right at the quota limit. + fetchLaterPostTest( + // Generates data that is exactly 64 kilobytes. + makeBeaconData(generatePayload(kQuotaPerOrigin), dataType), + `A single fetchLater() call takes up the per-origin quota for its ` + + `body of ${dataType}.`); + } +} + +// Test empty payload. +for (const dataType in BeaconDataType) { + test( + () => { + assert_throws_js( + TypeError, () => fetchLater('/', {method: 'POST', body: ''})); + }, + `A single fetchLater() call does not accept empty data in POST request ` + + `of ${dataType}.`); +} + +// Test oversized payload. +for (const dataType in BeaconDataType) { + test( + () => { + assert_throws_dom( + 'QuotaExceededError', + () => fetchLater('/fetch-later', { + method: 'POST', + // Generates data that exceeds 64 kilobytes. + body: + makeBeaconData(generatePayload(kQuotaPerOrigin + 1), dataType) + })); + }, + `A single fetchLater() call is not allowed to exceed per-origin quota ` + + `for its body of ${dataType}.`); +} + +// Test accumulated oversized request. +for (const dataType in BeaconDataType) { + test( + () => { + const controller = new AbortController(); + // Makes the 1st call that sends only half of allowed quota. + fetchLater('/fetch-later', { + method: 'POST', + signal: controller.signal, + body: makeBeaconData(generatePayload(kQuotaPerOrigin / 2), dataType) + }); + + // Makes the 2nd call that sends half+1 of allowed quota. + assert_throws_dom('QuotaExceededError', () => { + fetchLater('/fetch-later', { + method: 'POST', + signal: controller.signal, + body: makeBeaconData( + generatePayload(kQuotaPerOrigin / 2 + 1), dataType) + }); + }); + // Release quota taken by the pending requests for subsequent tests. + controller.abort(); + }, + `The 2nd fetchLater() call is not allowed to exceed per-origin quota ` + + `for its body of ${dataType}.`); +} + +// Test various size of payloads across different origins. +for (const dataType in BeaconDataType) { + test( + () => { + const controller = new AbortController(); + // Makes the 1st call that sends only half of allowed quota. + fetchLater('/fetch-later', { + method: 'POST', + signal: controller.signal, + body: makeBeaconData(generatePayload(kQuotaPerOrigin / 2), dataType) + }); + + // Makes the 2nd call that sends half+1 of allowed quota, but to a + // different origin. + fetchLater(`${HTTPS_NOTSAMESITE_ORIGIN}/fetch-later`, { + method: 'POST', + signal: controller.signal, + body: + makeBeaconData(generatePayload(kQuotaPerOrigin / 2 + 1), dataType) + }); + // Release quota taken by the pending requests for subsequent tests. + controller.abort(); + }, + `The 2nd fetchLater() call to another origin does not exceed per-origin` + + ` quota for its body of ${dataType}.`); +} diff --git a/tests/wpt/tests/fetch/fetch-later/send-on-deactivate.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/send-on-deactivate.tentative.https.window.js new file mode 100644 index 00000000000..4fbea12bfec --- /dev/null +++ b/tests/wpt/tests/fetch/fetch-later/send-on-deactivate.tentative.https.window.js @@ -0,0 +1,103 @@ +// META: script=/resources/testharness.js +// META: script=/resources/testharnessreport.js +// META: script=/common/dispatcher/dispatcher.js +// META: script=/common/get-host-info.sub.js +// META: script=/common/utils.js +// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js +// META: script=/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js +// META: script=/pending-beacon/resources/pending_beacon-helper.js + +'use strict'; + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + // Sets no option to test the default behavior when a document enters BFCache. + const helper = new RemoteContextHelper(); + // Opens a window with noopener so that BFCache will work. + const rc1 = await helper.addWindow( + /*config=*/ null, /*options=*/ {features: 'noopener'}); + + // Creates a fetchLater request with default config in remote, which should + // only be sent on page discarded (not on entering BFCache). + await rc1.executeScript(url => { + fetchLater(url); + // Add a pageshow listener to stash the BFCache event. + window.addEventListener('pageshow', e => { + window.pageshowEvent = e; + }); + }, [url]); + // Navigates away to let page enter BFCache. + const rc2 = await rc1.navigateToNew(); + // Navigate back. + await rc2.historyBack(); + // Verify that the page was BFCached. + assert_true(await rc1.executeScript(() => { + return window.pageshowEvent.persisted; + })); + + await expectBeacon(uuid, {count: 0}); +}, `fetchLater() does not send on page entering BFCache.`); + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + const helper = new RemoteContextHelper(); + // Opens a window with noopener so that BFCache will work. + const rc1 = await helper.addWindow( + /*config=*/ null, /*options=*/ {features: 'noopener'}); + + // When the remote is BFCached, creates a fetchLater request w/ + // activationTimeout = 0s. It should be sent out immediately. + await rc1.executeScript(url => { + window.addEventListener('pagehide', e => { + if (e.persisted) { + fetchLater(url, {activationTimeout: 0}); + } + }); + // Add a pageshow listener to stash the BFCache event. + window.addEventListener('pageshow', e => { + window.pageshowEvent = e; + }); + }, [url]); + // Navigates away to trigger request sending. + const rc2 = await rc1.navigateToNew(); + // Navigate back. + await rc2.historyBack(); + // Verify that the page was BFCached. + assert_true(await rc1.executeScript(() => { + return window.pageshowEvent.persisted; + })); + + await expectBeacon(uuid, {count: 1}); +}, `Call fetchLater() when BFCached with activationTimeout=0 sends immediately.`); + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + // Sets no option to test the default behavior when a document gets discarded + // on navigated away. + const helper = new RemoteContextHelper(); + // Opens a window without BFCache. + const rc1 = await helper.addWindow(); + + // Creates a fetchLater request in remote which should only be sent on + // navigating away. + await rc1.executeScript(url => { + fetchLater(url); + // Add a pageshow listener to stash the BFCache event. + window.addEventListener('pageshow', e => { + window.pageshowEvent = e; + }); + }, [url]); + // Navigates away to trigger request sending. + const rc2 = await rc1.navigateToNew(); + // Navigate back. + await rc2.historyBack(); + // Verify that the page was NOT BFCached. + assert_equals(undefined, await rc1.executeScript(() => { + return window.pageshowEvent; + })); + + await expectBeacon(uuid, {count: 1}); +}, `fetchLater() sends on navigating away a page w/o BFCache.`); diff --git a/tests/wpt/tests/fetch/fetch-later/send-on-discard.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/send-on-discard.tentative.https.window.js new file mode 100644 index 00000000000..8a39458f9b2 --- /dev/null +++ b/tests/wpt/tests/fetch/fetch-later/send-on-discard.tentative.https.window.js @@ -0,0 +1,68 @@ +// META: script=/resources/testharness.js +// META: script=/resources/testharnessreport.js +// META: script=/common/utils.js +// META: script=/pending-beacon/resources/pending_beacon-helper.js + +'use strict'; + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + const numPerMethod = 20; + const total = numPerMethod * 2; + + // Loads an iframe that creates `numPerMethod` GET & POST fetchLater requests. + const iframe = await loadScriptAsIframe(` + const url = "${url}"; + for (let i = 0; i < ${numPerMethod}; i++) { + fetchLater(url); + fetchLater(url, {method: 'POST'}); + } + `); + // Delete the iframe to trigger deferred request sending. + document.body.removeChild(iframe); + + // The iframe should have sent all requests. + await expectBeacon(uuid, {count: total}); +}, 'A discarded document sends all its fetchLater requests.'); + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + const numPerMethod = 20; + const total = numPerMethod * 2; + + // Loads an iframe that creates `numPerMethod` GET & POST fetchLater requests. + const iframe = await loadScriptAsIframe(` + const url = "${url}"; + for (let i = 0; i < ${numPerMethod}; i++) { + fetchLater(url, {method: 'GET', activationTimeout: 10000}); // 10s + fetchLater(url, {method: 'POST', activationTimeout: 8000}); // 8s + } + `); + // Delete the iframe to trigger deferred request sending. + document.body.removeChild(iframe); + + // The iframe should have sent all requests. + await expectBeacon(uuid, {count: total}); +}, 'A discarded document sends all its fetchLater requests, no matter how much their timeout remain.'); + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + + // Loads an iframe that creates 2 fetchLater requests. One of them is aborted. + const iframe = await loadScriptAsIframe(` + const url = "${url}"; + const controller = new AbortController(); + fetchLater(url, {signal: controller.signal}); + fetchLater(url, {method: 'POST'}); + controller.abort(); + `); + // Delete the iframe to trigger deferred request sending. + document.body.removeChild(iframe); + + // The iframe should not send the aborted request. + // TODO(crbug.com/1465781): Fix this after implementing abort function. + await expectBeacon(uuid, {count: 1}); +}, 'A discarded document does not send an already aborted fetchLater request.'); diff --git a/tests/wpt/tests/fetch/fetch-later/sendondiscard.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/sendondiscard.tentative.https.window.js deleted file mode 100644 index 0613d18dffb..00000000000 --- a/tests/wpt/tests/fetch/fetch-later/sendondiscard.tentative.https.window.js +++ /dev/null @@ -1,28 +0,0 @@ -// META: script=/resources/testharness.js -// META: script=/resources/testharnessreport.js -// META: script=/common/utils.js -// META: script=/pending-beacon/resources/pending_beacon-helper.js - -'use strict'; - -parallelPromiseTest(async t => { - const uuid = token(); - const url = generateSetBeaconURL(uuid); - const numPerMethod = 20; - const total = numPerMethod * 2; - - // Loads an iframe that creates `numPerMethod` GET & POST fetchLater requests. - const iframe = await loadScriptAsIframe(` - const url = "${url}"; - for (let i = 0; i < ${numPerMethod}; i++) { - let get = fetchLater(url); - let post = fetchLater(url, {method: 'POST'}); - } - `); - - // Delete the iframe to trigger deferred request sending. - document.body.removeChild(iframe); - - // The iframe should have sent all requests. - await expectBeacon(uuid, {count: total}); -}, 'A discarded document sends all its fetchLater requests with default config.'); diff --git a/tests/wpt/tests/fetch/fetch-later/timeout.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/timeout.tentative.https.window.js new file mode 100644 index 00000000000..ec47e756abe --- /dev/null +++ b/tests/wpt/tests/fetch/fetch-later/timeout.tentative.https.window.js @@ -0,0 +1,56 @@ +// META: script=/resources/testharness.js +// META: script=/resources/testharnessreport.js +// META: script=/common/dispatcher/dispatcher.js +// META: script=/common/get-host-info.sub.js +// META: script=/common/utils.js +// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js +// META: script=/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js +// META: script=/pending-beacon/resources/pending_beacon-helper.js + +'use strict'; + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + + // Loads an iframe that creates a fetchLater request w/ short timeout. + const iframe = await loadScriptAsIframe(` + fetchLater("${url}", {activationTimeout: 1000}); // 1s + `); + // Deletes the iframe to trigger deferred request sending. + document.body.removeChild(iframe); + + // The iframe should have sent all requests. + await expectBeacon(uuid, {count: 1}); +}, 'fetchLater() sends out based on activationTimeout.'); + +parallelPromiseTest(async t => { + const uuid = token(); + const url = generateSetBeaconURL(uuid); + // Sets no option to test the default behavior when a document enters BFCache. + const helper = new RemoteContextHelper(); + // Opens a window with noopener so that BFCache will work. + const rc1 = await helper.addWindow( + /*config=*/ null, /*options=*/ {features: 'noopener'}); + + // Creates a fetchLater request with short timeout. It should be sent out + // even if the document is then put into BFCache. + // only be sent on page discarded (not on entering BFCache). + await rc1.executeScript(url => { + fetchLater(url, {activationTimeout: 1000}); // 1. + // Add a pageshow listener to stash the BFCache event. + window.addEventListener('pageshow', e => { + window.pageshowEvent = e; + }); + }, [url]); + // Navigates away to let page enter BFCache. + const rc2 = await rc1.navigateToNew(); + // Navigate back. + await rc2.historyBack(); + // Verify that the page was BFCached. + assert_true(await rc1.executeScript(() => { + return window.pageshowEvent.persisted; + })); + + await expectBeacon(uuid, {count: 1}); +}, 'fetchLater() sends out based on activationTimeout, even if document is in BFCache.'); diff --git a/tests/wpt/tests/fetch/orb/resources/utils.js b/tests/wpt/tests/fetch/orb/resources/utils.js index 94a2177f079..45fbc4cb38e 100644 --- a/tests/wpt/tests/fetch/orb/resources/utils.js +++ b/tests/wpt/tests/fetch/orb/resources/utils.js @@ -10,9 +10,92 @@ function contentTypeOptions(type) { return header("X-Content-Type-Options", type); } -function fetchORB(file, options, ...pipe) { - return fetch(`${file}${pipe.length ? `?pipe=${pipe.join("|")}` : ""}`, { - ...(options || {}), +function testFetchNoCors(_t, path, { headers }) { + return fetch(path, { + ...(headers ? { headers } : {}), mode: "no-cors", }); } + +function testElementInitiator(t, path, name) { + let element = document.createElement(name); + element.src = path; + t.add_cleanup(() => element.remove()); + return new Promise((resolve, reject) => { + element.onerror = e => reject(new TypeError()); + element.onload = resolve; + + document.body.appendChild(element); + }); +} + +function testImageInitiator(t, path) { + return testElementInitiator(t, path, "img"); +} + +function testAudioInitiator(t, path) { + return testElementInitiator(t, path, "audio"); +} + +function testVideoInitiator(t, path) { + return testElementInitiator(t, path, "video"); +} + +function testScriptInitiator(t, path) { + return testElementInitiator(t, path, "script"); +} + +function runTest(t, test, file, options, ...pipe) { + const path = `${file}${pipe.length ? `?pipe=${pipe.join("|")}` : ""}`; + return test(t, path, options) +} + +function testRunAll(file, testCallback, adapter, options) { + let testcase = function (test, message, skip) { + return {test, message, skip}; + }; + + const name = "..."; + [ testcase(testFetchNoCors, `fetch(${name}, {mode: "no-cors"})`, false || options.skip.includes("fetch")), + testcase(testImageInitiator, ``, options.onlyFetch || options.skip.includes("image")), + testcase(testAudioInitiator, `