diff options
728 files changed, 37227 insertions, 14472 deletions
diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/algorithm-discards-context.https.window.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/algorithm-discards-context.https.window.js.ini index 4efc26a718d..641b4482f9b 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/algorithm-discards-context.https.window.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/algorithm-discards-context.https.window.js.ini @@ -1,22 +1,7 @@ [algorithm-discards-context.https.window.html] expected: TIMEOUT - [Context is discarded in encrypt] - expected: TIMEOUT - - [Context is discarded in decrypt] - expected: TIMEOUT - [Context is discarded in sign] expected: TIMEOUT [Context is discarded in verify] expected: TIMEOUT - - [Context is discarded in wrapKey] - expected: TIMEOUT - - [Context is discarded in unwrapKey] - expected: TIMEOUT - - [Context is discarded in unwrapKey (2)] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/hkdf.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/hkdf.https.any.js.ini index 283205311cb..a320aed496f 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/hkdf.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/hkdf.https.any.js.ini @@ -47,27 +47,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -170,27 +161,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -293,27 +275,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -416,27 +389,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -539,27 +503,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -662,27 +617,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -776,27 +722,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -890,27 +824,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -1013,27 +935,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -1136,27 +1049,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -1259,27 +1163,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -1382,27 +1277,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -1505,27 +1391,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -1628,9 +1505,6 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -1642,18 +1516,12 @@ [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -1747,27 +1615,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -1861,27 +1717,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -1984,27 +1828,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -2107,27 +1942,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -2230,27 +2056,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -2353,27 +2170,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -2476,27 +2284,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -2599,27 +2398,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -2713,27 +2503,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -2827,27 +2605,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -2950,27 +2716,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -3073,27 +2830,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -3201,27 +2949,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -3324,27 +3063,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -3447,27 +3177,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -3570,27 +3291,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -3684,27 +3396,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -3798,27 +3498,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -3921,27 +3609,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -4044,27 +3723,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -4167,27 +3837,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -4290,27 +3951,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -4413,27 +4065,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -4536,27 +4179,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -4650,27 +4284,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -4764,27 +4386,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -4832,27 +4442,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -4955,27 +4556,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -5078,27 +4670,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -5201,27 +4784,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -5315,27 +4889,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -5429,27 +4991,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -5552,27 +5102,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -5675,27 +5216,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -5798,27 +5330,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -5921,27 +5444,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -6044,27 +5558,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -6167,27 +5672,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -6281,27 +5777,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -6395,27 +5879,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -6463,18 +5935,12 @@ [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -6568,27 +6034,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -6682,27 +6136,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -6805,27 +6247,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -6928,27 +6361,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -7051,27 +6475,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -7174,27 +6589,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -7297,27 +6703,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -7420,27 +6817,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -7534,27 +6922,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -7648,27 +7024,15 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -7771,27 +7135,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -7894,27 +7249,18 @@ [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -8064,27 +7410,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -8187,27 +7524,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -8310,27 +7638,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -8433,27 +7752,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -8556,27 +7866,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -8679,27 +7980,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -8793,27 +8085,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -8907,27 +8187,15 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, normal salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -9030,27 +8298,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -9153,27 +8412,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -9276,27 +8526,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -9399,27 +8640,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -9522,27 +8754,18 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -9645,9 +8868,6 @@ [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -9719,27 +8939,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -9842,27 +9053,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -9965,27 +9167,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -10088,27 +9281,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -10211,27 +9395,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -10334,27 +9509,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -10448,27 +9614,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -10562,27 +9716,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL @@ -10708,27 +9850,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with normal info with wrong (ECDH) key] expected: FAIL @@ -10831,27 +9964,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-384, with empty info with wrong (ECDH) key] expected: FAIL @@ -10954,27 +10078,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with normal info with wrong (ECDH) key] expected: FAIL @@ -11077,27 +10192,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-512, with empty info with wrong (ECDH) key] expected: FAIL @@ -11200,27 +10306,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with normal info with wrong (ECDH) key] expected: FAIL @@ -11323,27 +10420,18 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-1, with empty info with wrong (ECDH) key] expected: FAIL @@ -11437,27 +10525,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with normal info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with normal info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with normal info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with normal info with wrong (ECDH) key] expected: FAIL @@ -11551,27 +10627,15 @@ [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with empty info] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with empty info] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with empty info with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty derivedKey, empty salt, SHA-256, with empty info with wrong (ECDH) key] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.js.ini index 2db2ce11605..2ec8364c29c 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.js.ini @@ -14,30 +14,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -113,30 +95,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -194,15 +158,6 @@ [short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-384, with 0 iterations] expected: FAIL @@ -230,30 +185,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -329,30 +266,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -428,30 +347,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -509,15 +410,6 @@ [short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-512, with 0 iterations] expected: FAIL @@ -545,30 +437,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -644,30 +518,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -743,30 +599,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -824,15 +662,6 @@ [short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-1, with 0 iterations] expected: FAIL @@ -860,30 +689,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -959,30 +770,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -1058,30 +851,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -1139,15 +914,6 @@ [short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-256, with 0 iterations] expected: FAIL @@ -1175,30 +941,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -1274,30 +1022,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -1393,30 +1123,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -1492,30 +1204,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -1591,30 +1285,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -1672,15 +1348,6 @@ [short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-384, with 0 iterations] expected: FAIL @@ -1708,30 +1375,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -1807,30 +1456,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -1906,30 +1537,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -1987,15 +1600,6 @@ [short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-512, with 0 iterations] expected: FAIL @@ -2023,30 +1627,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -2122,30 +1708,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -2221,30 +1789,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -2302,15 +1852,6 @@ [short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-1, with 0 iterations] expected: FAIL @@ -2338,30 +1879,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -2437,30 +1960,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -2536,30 +2041,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -2617,15 +2104,6 @@ [short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-256, with 0 iterations] expected: FAIL @@ -2653,30 +2131,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -2796,30 +2256,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -2895,30 +2337,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -2976,15 +2400,6 @@ [short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-384, with 0 iterations] expected: FAIL @@ -3012,30 +2427,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -3111,30 +2508,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -3210,30 +2589,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -3291,15 +2652,6 @@ [short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-512, with 0 iterations] expected: FAIL @@ -3327,30 +2679,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -3426,30 +2760,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -3525,30 +2841,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -3606,15 +2904,6 @@ [short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-1, with 0 iterations] expected: FAIL @@ -3642,30 +2931,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -3741,30 +3012,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -3840,30 +3093,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -3921,15 +3156,6 @@ [short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-256, with 0 iterations] expected: FAIL @@ -3957,30 +3183,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -4130,30 +3338,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -4211,15 +3401,6 @@ [long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-384, with 0 iterations] expected: FAIL @@ -4247,30 +3428,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -4346,30 +3509,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -4445,30 +3590,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -4526,15 +3653,6 @@ [long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-512, with 0 iterations] expected: FAIL @@ -4562,30 +3680,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -4661,30 +3761,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -4760,30 +3842,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -4841,15 +3905,6 @@ [long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-1, with 0 iterations] expected: FAIL @@ -4877,30 +3932,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -4976,30 +4013,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -5075,30 +4094,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -5156,15 +4157,6 @@ [long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-256, with 0 iterations] expected: FAIL @@ -5192,30 +4184,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -5291,30 +4265,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -5497,30 +4453,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -5596,30 +4534,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -5677,15 +4597,6 @@ [short password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-384, with 0 iterations] expected: FAIL @@ -5713,30 +4624,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -5812,30 +4705,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -5911,30 +4786,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -5992,15 +4849,6 @@ [short password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-512, with 0 iterations] expected: FAIL @@ -6028,30 +4876,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -6127,30 +4957,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -6226,30 +5038,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -6307,15 +5101,6 @@ [short password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-1, with 0 iterations] expected: FAIL @@ -6343,30 +5128,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -6442,30 +5209,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -6541,30 +5290,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -6622,15 +5353,6 @@ [short password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, long salt, SHA-256, with 0 iterations] expected: FAIL @@ -6658,30 +5380,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -6831,30 +5535,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -6912,15 +5598,6 @@ [long password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-384, with 0 iterations] expected: FAIL @@ -6948,30 +5625,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -7047,30 +5706,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -7146,30 +5787,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -7227,15 +5850,6 @@ [long password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-512, with 0 iterations] expected: FAIL @@ -7263,30 +5877,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -7362,30 +5958,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -7461,30 +6039,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -7542,15 +6102,6 @@ [long password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-1, with 0 iterations] expected: FAIL @@ -7578,30 +6129,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -7677,30 +6210,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -7776,30 +6291,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -7857,15 +6354,6 @@ [long password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, short salt, SHA-256, with 0 iterations] expected: FAIL @@ -7893,30 +6381,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -7992,30 +6462,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -8135,18 +6587,9 @@ [WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -8222,30 +6665,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -8303,15 +6728,6 @@ [empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-512, with 0 iterations] expected: FAIL @@ -8339,30 +6755,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -8438,30 +6836,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -8537,30 +6917,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -8618,15 +6980,6 @@ [empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-1, with 0 iterations] expected: FAIL @@ -8654,30 +7007,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -8753,30 +7088,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -8852,30 +7169,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -8933,15 +7232,6 @@ [empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-256, with 0 iterations] expected: FAIL @@ -8995,30 +7285,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -9094,30 +7366,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -9193,30 +7447,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -9274,15 +7510,6 @@ [short password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-384, with 0 iterations] expected: FAIL @@ -9310,30 +7537,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -9409,30 +7618,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -9508,30 +7699,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -9589,15 +7762,6 @@ [short password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-512, with 0 iterations] expected: FAIL @@ -9625,30 +7789,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -9724,30 +7870,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -9823,30 +7951,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -9904,15 +8014,6 @@ [short password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-1, with 0 iterations] expected: FAIL @@ -9940,30 +8041,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -10039,30 +8122,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -10138,30 +8203,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -10219,15 +8266,6 @@ [short password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, short salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, short salt, SHA-256, with 0 iterations] expected: FAIL @@ -10255,30 +8293,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -10338,15 +8358,6 @@ [long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-384, with 0 iterations] expected: FAIL @@ -10374,30 +8385,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -10473,30 +8466,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -10572,30 +8547,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -10653,15 +8610,6 @@ [long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-512, with 0 iterations] expected: FAIL @@ -10689,30 +8637,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -10788,30 +8718,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -10887,30 +8799,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -10968,15 +8862,6 @@ [long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-1, with 0 iterations] expected: FAIL @@ -11004,30 +8889,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -11103,30 +8970,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -11202,30 +9051,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -11283,15 +9114,6 @@ [long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-256, with 0 iterations] expected: FAIL @@ -11319,30 +9141,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -11418,30 +9222,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -11517,30 +9303,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -11598,15 +9366,6 @@ [empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-384, with 0 iterations] expected: FAIL @@ -11705,30 +9464,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -11804,30 +9545,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -11885,15 +9608,6 @@ [empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-512, with 0 iterations] expected: FAIL @@ -11921,30 +9635,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -12020,30 +9716,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -12119,30 +9797,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -12200,15 +9860,6 @@ [empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-1, with 0 iterations] expected: FAIL @@ -12236,30 +9887,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -12335,30 +9968,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -12434,30 +10049,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -12515,15 +10112,6 @@ [empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-256, with 0 iterations] expected: FAIL @@ -12551,30 +10139,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -12650,30 +10220,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -12749,30 +10301,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -12830,15 +10364,6 @@ [empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-384, with 0 iterations] expected: FAIL @@ -12866,30 +10391,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -12965,18 +10472,9 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - [empty password, long salt, SHA-512, with 1000 iterations with 0 length] expected: FAIL @@ -13024,30 +10522,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -13105,15 +10585,6 @@ [long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-384, with 0 iterations] expected: FAIL @@ -13141,30 +10612,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -13240,30 +10693,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -13339,30 +10774,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -13420,15 +10837,6 @@ [long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-512, with 0 iterations] expected: FAIL @@ -13456,30 +10864,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -13555,30 +10945,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -13654,30 +11026,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -13735,15 +11089,6 @@ [long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-1, with 0 iterations] expected: FAIL @@ -13771,30 +11116,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -13870,30 +11197,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -13969,30 +11278,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -14050,15 +11341,6 @@ [long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-256, with 0 iterations] expected: FAIL @@ -14086,30 +11368,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -14185,30 +11449,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -14284,30 +11530,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -14433,30 +11661,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -14532,30 +11742,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -14613,15 +11805,6 @@ [empty password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-512, with 0 iterations] expected: FAIL @@ -14649,30 +11832,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -14748,30 +11913,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -14847,30 +11994,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -14928,15 +12057,6 @@ [empty password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-1, with 0 iterations] expected: FAIL @@ -14964,30 +12084,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -15063,30 +12165,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -15162,30 +12246,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -15243,15 +12309,6 @@ [empty password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-256, with 0 iterations] expected: FAIL @@ -15279,30 +12336,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -15378,30 +12417,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -15477,30 +12498,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -15558,15 +12561,6 @@ [empty password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-384, with 0 iterations] expected: FAIL @@ -15594,30 +12588,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -15693,18 +12669,9 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - [empty password, long salt, SHA-512, with 1000 iterations with 0 length] expected: FAIL @@ -15761,30 +12728,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -15860,30 +12809,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -15941,15 +12872,6 @@ [short password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-384, with 0 iterations] expected: FAIL @@ -15977,30 +12899,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -16076,30 +12980,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -16175,30 +13061,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -16256,15 +13124,6 @@ [short password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-512, with 0 iterations] expected: FAIL @@ -16292,30 +13151,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -16391,30 +13232,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -16490,30 +13313,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -16571,15 +13376,6 @@ [short password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-1, with 0 iterations] expected: FAIL @@ -16607,30 +13403,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -16706,30 +13484,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -16805,30 +13565,12 @@ [Derived key of type name: AES-CTR length: 256 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -16886,15 +13628,6 @@ [short password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using short password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using short password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using short password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using short password, empty salt, SHA-256, with 0 iterations] expected: FAIL @@ -16922,30 +13655,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -17021,30 +13736,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -17128,30 +13825,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -17227,30 +13906,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -17326,30 +13987,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -17407,15 +14050,6 @@ [empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-512, with 0 iterations] expected: FAIL @@ -17443,30 +14077,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -17542,30 +14158,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -17641,30 +14239,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -17722,15 +14302,6 @@ [empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-1, with 0 iterations] expected: FAIL @@ -17758,30 +14329,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -17857,30 +14410,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -17956,30 +14491,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -18037,15 +14554,6 @@ [empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-256, with 0 iterations] expected: FAIL @@ -18073,30 +14581,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -18172,30 +14662,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -18271,30 +14743,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -18352,15 +14806,6 @@ [empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-384, with 0 iterations] expected: FAIL @@ -18388,30 +14833,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -18501,18 +14928,9 @@ [WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -18588,30 +15006,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -18669,15 +15069,6 @@ [empty password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-512, with 0 iterations] expected: FAIL @@ -18705,30 +15096,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -18804,30 +15177,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -18903,30 +15258,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -18984,15 +15321,6 @@ [empty password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-1, with 0 iterations] expected: FAIL @@ -19020,30 +15348,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -19119,30 +15429,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -19218,30 +15510,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -19299,15 +15573,6 @@ [empty password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, empty salt, SHA-256, with 0 iterations] expected: FAIL @@ -19346,30 +15611,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -19427,15 +15674,6 @@ [long password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-384, with 0 iterations] expected: FAIL @@ -19463,30 +15701,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -19562,30 +15782,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -19661,30 +15863,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -19742,15 +15926,6 @@ [long password, long salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-512, with 0 iterations] expected: FAIL @@ -19778,30 +15953,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -19877,30 +16034,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -19976,30 +16115,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -20057,15 +16178,6 @@ [long password, long salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-1, with 0 iterations] expected: FAIL @@ -20093,30 +16205,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -20192,30 +16286,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -20291,30 +16367,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -20372,15 +16430,6 @@ [long password, long salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, long salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, long salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, long salt, SHA-256, with 0 iterations] expected: FAIL @@ -20408,30 +16457,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -20507,30 +16538,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -20606,30 +16619,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -20728,15 +16723,6 @@ [long password, empty salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-384, with 0 iterations] expected: FAIL @@ -20764,30 +16750,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -20863,30 +16831,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -20962,30 +16912,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -21043,15 +16975,6 @@ [long password, empty salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-512, with 0 iterations] expected: FAIL @@ -21079,30 +17002,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -21178,30 +17083,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -21277,30 +17164,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -21358,15 +17227,6 @@ [long password, empty salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-1, with 0 iterations] expected: FAIL @@ -21394,30 +17254,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -21493,30 +17335,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -21592,30 +17416,12 @@ [Derived key of type name: AES-CTR length: 256 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -21673,15 +17479,6 @@ [long password, empty salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using long password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using long password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using long password, empty salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using long password, empty salt, SHA-256, with 0 iterations] expected: FAIL @@ -21709,30 +17506,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -21808,30 +17587,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -21907,30 +17668,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -21988,15 +17731,6 @@ [empty password, short salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-384, with 0 iterations] expected: FAIL @@ -22071,30 +17805,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -22170,30 +17886,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -22269,30 +17967,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -22350,15 +18030,6 @@ [empty password, short salt, SHA-512, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-512, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-512, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-512, with 0 iterations] expected: FAIL @@ -22386,30 +18057,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -22485,30 +18138,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -22584,30 +18219,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -22665,15 +18282,6 @@ [empty password, short salt, SHA-1, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-1, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-1, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-1, with 0 iterations] expected: FAIL @@ -22701,30 +18309,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -22800,30 +18390,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -22899,30 +18471,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -22980,15 +18534,6 @@ [empty password, short salt, SHA-256, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, short salt, SHA-256, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, short salt, SHA-256, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, short salt, SHA-256, with 0 iterations] expected: FAIL @@ -23016,30 +18561,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1 iterations with wrong (ECDH) key] expected: FAIL @@ -23115,30 +18642,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 1000 iterations with wrong (ECDH) key] expected: FAIL @@ -23214,30 +18723,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 100000 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 100000 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL @@ -23295,15 +18786,6 @@ [empty password, long salt, SHA-384, with 100000 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-384, with 0 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-384, with 0 iterations] - expected: FAIL - [Derived key of type name: AES-KW length: 128 using empty password, long salt, SHA-384, with 0 iterations] expected: FAIL @@ -23331,30 +18813,12 @@ [Derived key of type name: AES-CTR length: 256 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 128 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 192 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1 iterations] - expected: FAIL - - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1 iterations with missing deriveKey usage] - expected: FAIL - [Derived key of type name: AES-GCM length: 256 using empty password, long salt, SHA-512, with 1 iterations with wrong (ECDH) key] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js.ini index 63b4de01691..4b27ab610a7 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js.ini @@ -5,1248 +5,6 @@ [WebCryptoAPI: generateKey() for Failures] expected: FAIL - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Empty usages: generateKey({length: 128, name: AES-GCM}, false, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 128, name: AES-GCM}, true, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 192, name: AES-GCM}, false, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 192, name: AES-GCM}, true, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 256, name: AES-GCM}, false, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 256, name: AES-GCM}, true, [\])] - expected: FAIL - [failures_AES-GCM.https.any.html] [Untitled] @@ -1254,1245 +12,3 @@ [WebCryptoAPI: generateKey() for Failures] expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Empty usages: generateKey({length: 128, name: AES-GCM}, false, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 128, name: AES-GCM}, true, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 192, name: AES-GCM}, false, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 192, name: AES-GCM}, true, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 256, name: AES-GCM}, false, [\])] - expected: FAIL - - [Empty usages: generateKey({length: 256, name: AES-GCM}, true, [\])] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_HMAC.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_HMAC.https.any.js.ini index 6ee42c99ead..c0525b5450f 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_HMAC.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/failures_HMAC.https.any.js.ini @@ -5,726 +5,6 @@ [WebCryptoAPI: generateKey() for Failures] expected: FAIL - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - [Empty usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [\])] expected: FAIL @@ -781,726 +61,6 @@ [WebCryptoAPI: generateKey() for Failures] expected: FAIL - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-1, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-256, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-384, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, sign, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [verify, deriveBits\])] - expected: FAIL - - [Bad usages: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])] - expected: FAIL - [Empty usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [\])] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js.ini index 1df031fca3b..c4ec1ac2e7d 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js.ini @@ -5,870 +5,6 @@ [WebCryptoAPI: generateKey() Successful Calls] expected: FAIL - [Success: generateKey({length: 128, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - [successes_AES-GCM.https.any.worker.html] [Untitled] @@ -876,867 +12,3 @@ [WebCryptoAPI: generateKey() Successful Calls] expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 128, name: Aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 192, name: Aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, decrypt, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, encrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, decrypt\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey, wrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL - - [Success: generateKey({length: 256, name: Aes-gcm}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey\])] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini index b73d27b1f82..78718fa5cd9 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/generateKey/successes_HMAC.https.any.js.ini @@ -5,99 +5,51 @@ [WebCryptoAPI: generateKey() Successful Calls] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL @@ -197,99 +149,51 @@ [Success: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL @@ -389,99 +293,51 @@ [Success: generateKey({hash: SHA-512, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL @@ -589,99 +445,51 @@ [WebCryptoAPI: generateKey() Successful Calls] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL @@ -781,99 +589,51 @@ [Success: generateKey({hash: SHA-512, name: HMAC}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL @@ -973,99 +733,51 @@ [Success: generateKey({hash: SHA-512, name: hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-1, length: 160, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-256, length: 256, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-384, length: 384, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [verify, sign\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [verify, sign\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [verify\])] expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, false, [sign, verify, sign, verify\])] - expected: FAIL - [Success: generateKey({hash: SHA-512, length: 512, name: Hmac}, true, [sign, verify, sign, verify\])] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/ecdsa.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/ecdsa.https.any.js.ini index d7a9b8e30db..67a5615880d 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/ecdsa.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/ecdsa.https.any.js.ini @@ -755,6 +755,78 @@ [importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification] expected: FAIL + [importVectorKeys step: ECDSA P-256 with SHA-1 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-256 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-384 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-512 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-1 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-256 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-384 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-512 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-1 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-256 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-384 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-512 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-1 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-256 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-384 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-512 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name] + expected: FAIL + [ecdsa.https.any.worker.html] [generate wrong key step: ECDSA P-256 with SHA-1 signing with wrong algorithm name] @@ -1512,3 +1584,75 @@ [importVectorKeys step: ECDSA P-521 with SHA-512 - The signature is all zeroes verification] expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-1 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-256 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-384 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-512 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-1 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-256 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-384 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-512 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-1 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-256 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-384 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-256 with SHA-512 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-1 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-256 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-384 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-384 with SHA-512 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name] + expected: FAIL + + [importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/console/console-is-a-namespace.any.js.ini b/tests/wpt/meta-legacy-layout/console/console-is-a-namespace.any.js.ini index 1f67400e405..c8672b573ac 100644 --- a/tests/wpt/meta-legacy-layout/console/console-is-a-namespace.any.js.ini +++ b/tests/wpt/meta-legacy-layout/console/console-is-a-namespace.any.js.ini @@ -1,5 +1,5 @@ [console-is-a-namespace.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [console-is-a-namespace.any.html] diff --git a/tests/wpt/meta-legacy-layout/console/console-label-conversion.any.js.ini b/tests/wpt/meta-legacy-layout/console/console-label-conversion.any.js.ini new file mode 100644 index 00000000000..5284cde3f23 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/console/console-label-conversion.any.js.ini @@ -0,0 +1,6 @@ +[console-label-conversion.any.shadowrealm.html] + expected: TIMEOUT + +[console-label-conversion.any.worker.html] + +[console-label-conversion.any.html] diff --git a/tests/wpt/meta-legacy-layout/console/console-log-large-array.any.js.ini b/tests/wpt/meta-legacy-layout/console/console-log-large-array.any.js.ini index 10c5af82ff9..723d1db2a45 100644 --- a/tests/wpt/meta-legacy-layout/console/console-log-large-array.any.js.ini +++ b/tests/wpt/meta-legacy-layout/console/console-log-large-array.any.js.ini @@ -3,4 +3,4 @@ [console-log-large-array.any.worker.html] [console-log-large-array.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/console/console-log-symbol.any.js.ini b/tests/wpt/meta-legacy-layout/console/console-log-symbol.any.js.ini index 5e9e6dd0a40..d928986e4a0 100644 --- a/tests/wpt/meta-legacy-layout/console/console-log-symbol.any.js.ini +++ b/tests/wpt/meta-legacy-layout/console/console-log-symbol.any.js.ini @@ -1,6 +1,6 @@ [console-log-symbol.any.html] [console-log-symbol.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [console-log-symbol.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/console/console-namespace-object-class-string.any.js.ini b/tests/wpt/meta-legacy-layout/console/console-namespace-object-class-string.any.js.ini index de8fe99edd5..9c822123c88 100644 --- a/tests/wpt/meta-legacy-layout/console/console-namespace-object-class-string.any.js.ini +++ b/tests/wpt/meta-legacy-layout/console/console-namespace-object-class-string.any.js.ini @@ -24,3 +24,7 @@ [Object.prototype.toString applied after deleting @@toStringTag] expected: FAIL + + +[console-namespace-object-class-string.any.shadowrealm.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/console/console-tests-historical.any.js.ini b/tests/wpt/meta-legacy-layout/console/console-tests-historical.any.js.ini index 0a78ce4ab9a..42e41d2ca45 100644 --- a/tests/wpt/meta-legacy-layout/console/console-tests-historical.any.js.ini +++ b/tests/wpt/meta-legacy-layout/console/console-tests-historical.any.js.ini @@ -1,6 +1,6 @@ [console-tests-historical.any.worker.html] [console-tests-historical.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [console-tests-historical.any.html] diff --git a/tests/wpt/meta-legacy-layout/css/CSS2/css1/c542-letter-sp-001.xht.ini b/tests/wpt/meta-legacy-layout/css/CSS2/css1/c542-letter-sp-001.xht.ini deleted file mode 100644 index b43991b5e88..00000000000 --- a/tests/wpt/meta-legacy-layout/css/CSS2/css1/c542-letter-sp-001.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[c542-letter-sp-001.xht] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-declarations.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-declarations.html.ini new file mode 100644 index 00000000000..938a8e6223d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-declarations.html.ini @@ -0,0 +1,15 @@ +[scope-declarations.html] + [Scoped declarations apply to the scoping root] + expected: FAIL + + [Scoped declarations apply to implicit scoping root] + expected: FAIL + + [Scoped declarations apply with zero specificity] + expected: FAIL + + [Declarations are parsed into CSSNestedDeclarations, prelude=(.a)] + expected: FAIL + + [Declarations are parsed into CSSNestedDeclarations, prelude=] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-evaluation.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-evaluation.html.ini index 7b6c4a7059d..112334ebbb1 100644 --- a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-evaluation.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-evaluation.html.ini @@ -2,9 +2,6 @@ [Single scope] expected: FAIL - [Scope can not match its own root without :scope] - expected: FAIL - [Selecting self with :scope] expected: FAIL @@ -26,15 +23,9 @@ [Multiple scopes from same @scope-rule, only one limited] expected: FAIL - [Multiple scopes from same @scope-rule, both limited] - expected: FAIL - [Nested scopes] expected: FAIL - [Nested scopes, reverse] - expected: FAIL - [Nested scopes, with to-selector] expected: FAIL @@ -47,21 +38,9 @@ [Simulated inclusive scoping limit] expected: FAIL - [Scope with no elements] - expected: FAIL - - [:scope direct adjacent sibling] - expected: FAIL - - [:scope indirect adjacent sibling] - expected: FAIL - [Relative selector inside @scope] expected: FAIL - [:scope in two different compounds] - expected: FAIL - [Scope root with :has()] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-implicit.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-implicit.html.ini index fe871685f90..f7d9a8ab911 100644 --- a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-implicit.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-implicit.html.ini @@ -19,3 +19,6 @@ [Proximity calculation of multiple implicit @scope] expected: FAIL + + [Implicit @scope sandwiched between non-implicit scopes] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-shadow.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-shadow.html.ini index 45532a6b577..d0c4d34c84b 100644 --- a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-shadow.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-shadow.html.ini @@ -16,3 +16,12 @@ [Implicit @scope in construted stylesheet] expected: FAIL + + [Matching :host via &, :scope (subject)] + expected: FAIL + + [Matching :host via &, :scope (non-subject)] + expected: FAIL + + [Matching :host via &, :scope (non-subject, >)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-visited-cssom.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-visited-cssom.html.ini index 096de91cb9d..11fd49b8f2e 100644 --- a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-visited-cssom.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-visited-cssom.html.ini @@ -14,15 +14,9 @@ [:link as scoping root] expected: FAIL - [:visited as scoping root] - expected: FAIL - [:not(:visited) as scoping root] expected: FAIL - [:not(:link) as scoping root] - expected: FAIL - [:link as scoping root, :scope] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html.ini deleted file mode 100644 index 72f4601118a..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[at-container-overflowing-parsing.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html.ini deleted file mode 100644 index 18c1abafcc7..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[at-container-overflowing-serialization.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html.ini new file mode 100644 index 00000000000..9add770ca15 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html.ini @@ -0,0 +1,2 @@ +[at-container-scrollable-parsing.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html.ini new file mode 100644 index 00000000000..a1488c187b9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html.ini @@ -0,0 +1,2 @@ +[at-container-scrollable-serialization.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html.ini deleted file mode 100644 index a68b451ba16..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-initially-overflowing.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html.ini new file mode 100644 index 00000000000..431317c924c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html.ini @@ -0,0 +1,2 @@ +[scroll-state-initially-scrollable.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html.ini deleted file mode 100644 index b7b53344b47..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-change.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html.ini deleted file mode 100644 index 7a375c77c3e..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-container-type-change.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html.ini deleted file mode 100644 index 9f23e652587..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-layout-change.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html.ini deleted file mode 100644 index 27cb88702ca..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-pseudo.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html.ini deleted file mode 100644 index 43378a2c38f..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-wm.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html.ini new file mode 100644 index 00000000000..3971672edcf --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-axis.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html.ini new file mode 100644 index 00000000000..30d3b51d803 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-change.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html.ini new file mode 100644 index 00000000000..a8abe392bbe --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-container-type-change.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html.ini new file mode 100644 index 00000000000..71a36d00018 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-layout-change.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html.ini new file mode 100644 index 00000000000..930796e3859 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-pseudo.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html.ini new file mode 100644 index 00000000000..a4f0e4df283 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-wm.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html.ini new file mode 100644 index 00000000000..8fc62494a41 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html.ini @@ -0,0 +1,2 @@ +[scroll-state-snapped-both.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini index 6be0d423c28..260383c085d 100644 --- a/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini @@ -13,3 +13,6 @@ [@font-face matching for quoted and unquoted ui-rounded] expected: FAIL + + [@font-face matching for quoted and unquoted math] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html.ini new file mode 100644 index 00000000000..5580c3bb2ee --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html.ini @@ -0,0 +1,24 @@ +[gap-decorations-width-computed.html] + [Property column-rule-width value 'calc(10px + 0.5em)'] + expected: FAIL + + [Property column-rule-width value 'calc(10px - 0.5em)'] + expected: FAIL + + [Property column-rule-width value '2px 4px 6px'] + expected: FAIL + + [Property column-rule-width value 'repeat(4, 2px)'] + expected: FAIL + + [Property column-rule-width value 'repeat(auto, 10px)'] + expected: FAIL + + [Property column-rule-width value 'repeat(calc(5 + 3), 10px)'] + expected: FAIL + + [Property column-rule-width value 'repeat(5, 10px calc(10px + 0.5em))'] + expected: FAIL + + [Property column-rule-width value 'repeat(auto, min(5px, 10px)) repeat(5, 10px) calc(10px + 0.5em)'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-lists/nested-marker-styling.html.ini b/tests/wpt/meta-legacy-layout/css/css-lists/nested-marker-styling.html.ini new file mode 100644 index 00000000000..2e666ec9817 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-lists/nested-marker-styling.html.ini @@ -0,0 +1,2 @@ +[nested-marker-styling.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini index e06425a5209..f7904aad447 100644 --- a/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini @@ -16,3 +16,21 @@ ["::part(foo)::check" should be a valid selector] expected: FAIL + + ["::checkmark" should be a valid selector] + expected: FAIL + + ["*::checkmark" should be a valid selector] + expected: FAIL + + ["foo.bar[baz\]::checkmark" should be a valid selector] + expected: FAIL + + ["::checkmark::marker" should be a valid selector] + expected: FAIL + + ["::slotted(*)::checkmark" should be a valid selector] + expected: FAIL + + ["::part(foo)::checkmark" should be a valid selector] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-pseudo/pseudo-replaced-elements.html.ini b/tests/wpt/meta-legacy-layout/css/css-pseudo/pseudo-replaced-elements.html.ini new file mode 100644 index 00000000000..44cfd1637f3 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-pseudo/pseudo-replaced-elements.html.ini @@ -0,0 +1,37 @@ +[pseudo-replaced-elements.html] + expected: ERROR + [INPUT text] + expected: FAIL + + [INPUT date] + expected: FAIL + + [INPUT time] + expected: FAIL + + [INPUT datetime-local] + expected: FAIL + + [INPUT checkbox] + expected: FAIL + + [INPUT radio] + expected: FAIL + + [INPUT file] + expected: FAIL + + [INPUT range] + expected: FAIL + + [INPUT color] + expected: FAIL + + [INPUT search] + expected: FAIL + + [VIDEO true] + expected: FAIL + + [VIDEO ] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-044.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-044.tentative.html.ini new file mode 100644 index 00000000000..d90dd084060 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-044.tentative.html.ini @@ -0,0 +1,9 @@ +[replaced-element-044.tentative.html] + [canvas 2] + expected: FAIL + + [canvas 3] + expected: FAIL + + [canvas 4] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-024.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-024.html.ini new file mode 100644 index 00000000000..da46f3d138c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-024.html.ini @@ -0,0 +1,2 @@ +[intrinsic-percent-replaced-024.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-025.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-025.html.ini new file mode 100644 index 00000000000..d7e7482fb2e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-025.html.ini @@ -0,0 +1,2 @@ +[intrinsic-percent-replaced-025.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-026.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-026.html.ini new file mode 100644 index 00000000000..9073aa603c4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-sizing/intrinsic-percent-replaced-026.html.ini @@ -0,0 +1,2 @@ +[intrinsic-percent-replaced-026.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-percent-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-percent-001.html.ini deleted file mode 100644 index 90c80182ad9..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-percent-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[letter-spacing-percent-001.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-computed.html.ini index c7743b06041..1254f700e68 100644 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-computed.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-computed.html.ini @@ -1,15 +1,3 @@ [letter-spacing-computed.html] [Property letter-spacing value 'normal' computes to '0px'] expected: FAIL - - [Property letter-spacing value '110%'] - expected: FAIL - - [Property letter-spacing value '-5%'] - expected: FAIL - - [Property letter-spacing value 'calc(10% - 20%)'] - expected: FAIL - - [Property letter-spacing value 'calc(10px - (5% + 10%)'] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-valid.html.ini deleted file mode 100644 index f7411a6f2c5..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-text/parsing/letter-spacing-valid.html.ini +++ /dev/null @@ -1,12 +0,0 @@ -[letter-spacing-valid.html] - [e.style['letter-spacing'\] = "120%" should set the property value] - expected: FAIL - - [e.style['letter-spacing'\] = "-10%" should set the property value] - expected: FAIL - - [e.style['letter-spacing'\] = "calc(2ch - 30%)" should set the property value] - expected: FAIL - - [e.style['letter-spacing'\] = "calc(40% + 50px)" should set the property value] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-transforms/scale-animation-with-var-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-transforms/scale-animation-with-var-001.html.ini new file mode 100644 index 00000000000..fbf0a6afbd1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-transforms/scale-animation-with-var-001.html.ini @@ -0,0 +1,2 @@ +[scale-animation-with-var-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/attr-security.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/attr-security.html.ini index 92b5651ec48..dcb316655b9 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/attr-security.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/attr-security.html.ini @@ -17,23 +17,23 @@ [CSS Values and Units Test: attr() security limitations 9] expected: FAIL - [CSS Values and Units Test: attr() security limitations 11] + [CSS Values and Units Test: attr() security limitations 15] expected: FAIL - [CSS Values and Units Test: attr() security limitations 12] + [CSS Values and Units Test: attr() security limitations 10] expected: FAIL - [CSS Values and Units Test: attr() security limitations 14] + [CSS Values and Units Test: attr() security limitations 13] expected: FAIL - [CSS Values and Units Test: attr() security limitations 15] + [CSS Values and Units Test: attr() security limitations 16] expected: FAIL - [CSS Values and Units Test: attr() security limitations 17] + [CSS Values and Units Test: attr() security limitations 18] expected: FAIL - [CSS Values and Units Test: attr() security limitations 19] + [CSS Values and Units Test: attr() security limitations 20] expected: FAIL - [CSS Values and Units Test: attr() security limitations 21] + [CSS Values and Units Test: attr() security limitations 22] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-letter-spacing.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-letter-spacing.html.ini deleted file mode 100644 index bae4e1fb5d2..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-letter-spacing.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[calc-letter-spacing.html] - [testing letter-spacing: calc(100%)] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-serialization-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-serialization-002.html.ini deleted file mode 100644 index e933384770c..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-serialization-002.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[calc-serialization-002.html] - [testing calc((min(10px, 20%) + max(1rem, 2%)) * 2)] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-sibling-function-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-sibling-function-parsing.html.ini new file mode 100644 index 00000000000..6b15ad93bf7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-sibling-function-parsing.html.ini @@ -0,0 +1,18 @@ +[calc-sibling-function-parsing.html] + [e.style['left'\] = "calc(1px * sibling-index())" should set the property value] + expected: FAIL + + [e.style['left'\] = "calc(1px * sibling-index( ))" should set the property value] + expected: FAIL + + [e.style['z-index'\] = "sibling-index()" should set the property value] + expected: FAIL + + [e.style['left'\] = "calc(1px * sibling-count())" should set the property value] + expected: FAIL + + [e.style['left'\] = "calc(1px * sibling-count( ))" should set the property value] + expected: FAIL + + [e.style['z-index'\] = "sibling-count()" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-sibling-function.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-sibling-function.html.ini new file mode 100644 index 00000000000..3cb1b256ac1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-sibling-function.html.ini @@ -0,0 +1,9 @@ +[calc-sibling-function.html] + [basic sibling-index() test] + expected: FAIL + + [basic sibling-count() test] + expected: FAIL + + [sibling-index() in calc() with percentage] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini index 3c23c23b88a..6271b2090f2 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini @@ -1,2 +1,252 @@ [interpolate-size-interpolation.html] - expected: ERROR + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/hypot-pow-sqrt-serialize.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/hypot-pow-sqrt-serialize.html.ini index 66280d74723..b6129abe575 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/hypot-pow-sqrt-serialize.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/hypot-pow-sqrt-serialize.html.ini @@ -40,6 +40,3 @@ ['scale(calc(hypot(1) * 0.5))' as a computed value should serialize as 'matrix(0.5, 0, 0, 0.5, 0, 0)'.] expected: FAIL - - ['hypot(2px, 40%)' as a specified value should serialize as 'hypot(2px, 40%)'.] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/minmax-length-percent-serialize.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/minmax-length-percent-serialize.html.ini index 401b2b107b3..3a95b5bb439 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/minmax-length-percent-serialize.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/minmax-length-percent-serialize.html.ini @@ -214,9 +214,3 @@ ['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + (10px + min(10%, 30px)) * 2, 5% + 80px)'.] expected: FAIL - - ['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a specified value should serialize as 'max(10px + (2 * (10px + min(10%, 30px))), 5% + 5em)'.] - expected: FAIL - - ['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + (2 * (10px + min(10%, 30px))), 5% + 80px)'.] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini deleted file mode 100644 index 819fbf742db..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[round-function.html] - [round(down, (7 - 1) / 3, 1) should be used-value-equivalent to 2] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/vh_not_refreshing_on_chrome.html.ini index 9bafc27593e..599b3e07f8d 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/vh_not_refreshing_on_chrome.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/vh_not_refreshing_on_chrome.html.ini @@ -1,3 +1,2 @@ [vh_not_refreshing_on_chrome.html] bug: https://github.com/servo/servo/issues/8984 - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/is-where-pseudo-containing-hard-pseudo.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/is-where-pseudo-containing-hard-pseudo.html.ini deleted file mode 100644 index aee13cdb5d8..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/is-where-pseudo-containing-hard-pseudo.html.ini +++ /dev/null @@ -1,36 +0,0 @@ -[is-where-pseudo-containing-hard-pseudo.html] - [subject1 is red when .other-match added] - expected: FAIL - - [subject1 is orangered when .parent added to parent] - expected: FAIL - - [subject1 is orangered when .parent removed from parent] - expected: FAIL - - [subject2 is darkred when .other-match added] - expected: FAIL - - [subject2 is pink when .parent added to parent] - expected: FAIL - - [subject2 is pink when .parent removed from parent] - expected: FAIL - - [subject3 is green when .other-match added] - expected: FAIL - - [subject3 is lightgreen when .parent added to parent] - expected: FAIL - - [subject3 is lightgreen when .parent removed from parent] - expected: FAIL - - [subject4 is darkgreen when .other-match added] - expected: FAIL - - [subject4 is yellowgreen when .parent added to parent] - expected: FAIL - - [subject4 is yellowgreen when .parent removed from parent] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/is.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/is.html.ini deleted file mode 100644 index 39f96467488..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/is.html.ini +++ /dev/null @@ -1,15 +0,0 @@ -[is.html] - [Invalidate :is() for simple selector arguments.] - expected: FAIL - - [Invalidate :is() for compound selector arguments.] - expected: FAIL - - [Invalidate :is() for complex selector arguments.] - expected: FAIL - - [Invalidate nested :is().] - expected: FAIL - - [Test specificity of :is().] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-always-matches-negated-first-of-type-when-ancestor-changes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-always-matches-negated-first-of-type-when-ancestor-changes.html.ini deleted file mode 100644 index d1cd1865181..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-always-matches-negated-first-of-type-when-ancestor-changes.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[negated-always-matches-negated-first-of-type-when-ancestor-changes.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-always-matches-negated-last-of-type-when-ancestor-changes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-always-matches-negated-last-of-type-when-ancestor-changes.html.ini deleted file mode 100644 index a22a798704c..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-always-matches-negated-last-of-type-when-ancestor-changes.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[negated-always-matches-negated-last-of-type-when-ancestor-changes.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-is-never-matches-negated-first-of-type-when-ancestor-changes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-is-never-matches-negated-first-of-type-when-ancestor-changes.html.ini deleted file mode 100644 index 27ecadf65ec..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-is-never-matches-negated-first-of-type-when-ancestor-changes.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[negated-is-never-matches-negated-first-of-type-when-ancestor-changes.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-is-never-matches-negated-last-of-type-when-ancestor-changes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-is-never-matches-negated-last-of-type-when-ancestor-changes.html.ini deleted file mode 100644 index 254d5774e11..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-is-never-matches-negated-last-of-type-when-ancestor-changes.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[negated-is-never-matches-negated-last-of-type-when-ancestor-changes.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-negated-first-of-type-when-ancestor-changes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-negated-first-of-type-when-ancestor-changes.html.ini deleted file mode 100644 index ab06ad7b0cc..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-negated-first-of-type-when-ancestor-changes.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[negated-negated-first-of-type-when-ancestor-changes.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-negated-last-of-type-when-ancestor-changes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-negated-last-of-type-when-ancestor-changes.html.ini deleted file mode 100644 index 75d4f82effe..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/negated-negated-last-of-type-when-ancestor-changes.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[negated-negated-last-of-type-when-ancestor-changes.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/not-002.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/not-002.html.ini deleted file mode 100644 index 27743b4fdfd..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/not-002.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[not-002.html] - [Invalidate nested :is() inside :not().] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/where.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/where.html.ini deleted file mode 100644 index 71afad61d62..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/where.html.ini +++ /dev/null @@ -1,16 +0,0 @@ -[where.html] - [Invalidate :where() for complex selector arguments.] - expected: FAIL - - [Preconditions.] - expected: FAIL - - [Invalidate :where() for simple selector arguments.] - expected: FAIL - - [Invalidate :where() for compound selector arguments.] - expected: FAIL - - [Invalidate nested :where().] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-default-ns-002.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-default-ns-002.html.ini deleted file mode 100644 index b8de9607a92..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-default-ns-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[is-default-ns-002.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-nested.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-nested.html.ini deleted file mode 100644 index d18898442a3..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-nested.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[is-nested.html] - [Test nested :is() chooses highest specificity for class outside :is().] - expected: FAIL - - [Test nested :is() specificity for class within arguments.] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-specificity-shadow.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-specificity-shadow.html.ini deleted file mode 100644 index 02e353e2a76..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-specificity-shadow.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[is-specificity-shadow.html] - [Specificity of :host() inside :is()] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-specificity.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-specificity.html.ini deleted file mode 100644 index 96a4e2ad64d..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-specificity.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[is-specificity.html] - [Test :is() uses highest possible specificity] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-where-basic.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-where-basic.html.ini deleted file mode 100644 index 0ff9dc76ce8..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-where-basic.html.ini +++ /dev/null @@ -1,45 +0,0 @@ -[is-where-basic.html] - [:is() matches expected elements] - expected: FAIL - - [:is(#a) matches expected elements] - expected: FAIL - - [:is(#a, #f) matches expected elements] - expected: FAIL - - [:is(#a, #c) :where(#a #d, #c #f) matches expected elements] - expected: FAIL - - [#c > :is(#c > #f) matches expected elements] - expected: FAIL - - [#c > :is(#b > #f) matches expected elements] - expected: FAIL - - [#a div:is(#d) matches expected elements] - expected: FAIL - - [:is(div) > div matches expected elements] - expected: FAIL - - [:is(*) > div matches expected elements] - expected: FAIL - - [:is(*) div matches expected elements] - expected: FAIL - - [div > :where(#e, #f) matches expected elements] - expected: FAIL - - [div > :where(*) matches expected elements] - expected: FAIL - - [:is(*) > :where(*) matches expected elements] - expected: FAIL - - [:is(#a + #b) + :is(#c) matches expected elements] - expected: FAIL - - [:is(#a, #b) + div matches expected elements] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-where-error-recovery.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-where-error-recovery.html.ini deleted file mode 100644 index af513ca1c36..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-where-error-recovery.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[is-where-error-recovery.html] - [CSS Selectors: :is() and :where() error recovery] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-where-not.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-where-not.html.ini deleted file mode 100644 index 97a2fd2f3be..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-where-not.html.ini +++ /dev/null @@ -1,54 +0,0 @@ -[is-where-not.html] - [:not(:is(#a)) matches expected elements] - expected: FAIL - - [:not(:where(#b)) matches expected elements] - expected: FAIL - - [:not(:where(:root #c)) matches expected elements] - expected: FAIL - - [:not(:is(#a, #b)) matches expected elements] - expected: FAIL - - [:not(:is(#b div)) matches expected elements] - expected: FAIL - - [:not(:is(#a div, div + div)) matches expected elements] - expected: FAIL - - [:not(:is(span)) matches expected elements] - expected: FAIL - - [:not(:is(div)) matches expected elements] - expected: FAIL - - [:not(:is(*|div)) matches expected elements] - expected: FAIL - - [:not(:is(*|*)) matches expected elements] - expected: FAIL - - [:not(:is(*)) matches expected elements] - expected: FAIL - - [:not(:is(svg|div)) matches expected elements] - expected: FAIL - - [:not(:is(:not(div))) matches expected elements] - expected: FAIL - - [:not(:is(span, b, i)) matches expected elements] - expected: FAIL - - [:not(:is(span, b, i, div)) matches expected elements] - expected: FAIL - - [:not(:is(#b ~ div div, * + #c)) matches expected elements] - expected: FAIL - - [:not(:is(div > :not(#e))) matches expected elements] - expected: FAIL - - [:not(:is(div > :not(:where(#e, #f)))) matches expected elements] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-where-pseudo-classes.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-where-pseudo-classes.html.ini deleted file mode 100644 index ddc276664b5..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-where-pseudo-classes.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[is-where-pseudo-classes.html] - [:is() combined with pseudo-classes] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/is-where-pseudo-elements.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/is-where-pseudo-elements.html.ini deleted file mode 100644 index 087533a1e9b..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/is-where-pseudo-elements.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[is-where-pseudo-elements.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is-where.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is-where.html.ini index 55f8b960e45..c698a273547 100644 --- a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is-where.html.ini +++ b/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is-where.html.ini @@ -1,76 +1,4 @@ [parse-is-where.html] - [":is(div )" should be a valid selector] - expected: FAIL - - [":where(div )" should be a valid selector] - expected: FAIL - - [":is(div + bar, div ~ .baz)" should be a valid selector] - expected: FAIL - - [":where(div + bar, div ~ .baz)" should be a valid selector] - expected: FAIL - - [":is(:is(div))" should be a valid selector] - expected: FAIL - - [":where(:is(div))" should be a valid selector] - expected: FAIL - - [":is(:where(div))" should be a valid selector] - expected: FAIL - - [":where(:where(div))" should be a valid selector] - expected: FAIL - - [":host(:is(div))" should be a valid selector] - expected: FAIL - - [":host(:where(div))" should be a valid selector] - expected: FAIL - - [":host(:is(div ))" should be a valid selector] - expected: FAIL - - [":host(:where(div ))" should be a valid selector] - expected: FAIL - - [":host(:is(div .foo))" should be a valid selector] - expected: FAIL - - [":host(:where(div .foo))" should be a valid selector] - expected: FAIL - - [":is(:hover, :active)" should be a valid selector] - expected: FAIL - - [":where(:hover, :active)" should be a valid selector] - expected: FAIL - - [":is(div):hover" should be a valid selector] - expected: FAIL - - [":where(div):hover" should be a valid selector] - expected: FAIL - - [":is(div)::before" should be a valid selector] - expected: FAIL - - [":where(div)::before" should be a valid selector] - expected: FAIL - - [":is(::before)" should be a valid selector] - expected: FAIL - - [":where(::before)" should be a valid selector] - expected: FAIL - - [":is(div) + bar" should be a valid selector] - expected: FAIL - - [":where(div) + bar" should be a valid selector] - expected: FAIL - ["::part(foo):is(:hover)" should be a valid selector] expected: FAIL @@ -82,15 +10,3 @@ ["::part(foo):where([attr='value'\])" should be a valid selector] expected: FAIL - - [":not(:is(div))" should be a valid selector] - expected: FAIL - - [":not(:where(div))" should be a valid selector] - expected: FAIL - - [":not(:is(div .foo))" should be a valid selector] - expected: FAIL - - [":not(:where(div .foo))" should be a valid selector] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is.html.ini deleted file mode 100644 index effe1a09629..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-is.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[parse-is.html] - [":is(#a)" should be a valid selector] - expected: FAIL - - [".a.b ~ :is(.c.d ~ .e.f)" should be a valid selector] - expected: FAIL - - [".a.b ~ .c.d:is(span.e + .f, .g.h > .i.j .k)" should be a valid selector] - expected: FAIL - - [":is(:hover,:focus)" should be a valid selector] - expected: FAIL - - ["a:is(:not(:hover))" should be a valid selector] - expected: FAIL - - [":is(ul,ol,.list) > [hidden\]" should be a valid selector] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-where.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-where.html.ini deleted file mode 100644 index b5ffbae6945..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/parsing/parse-where.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[parse-where.html] - [":where(#a)" should be a valid selector] - expected: FAIL - - [":where(:hover,:focus)" should be a valid selector] - expected: FAIL - - [".a.b ~ .c.d:where(span.e + .f, .g.h > .i.j .k)" should be a valid selector] - expected: FAIL - - [":where(ul,ol,.list) > [hidden\]" should be a valid selector] - expected: FAIL - - ["a:where(:not(:hover))" should be a valid selector] - expected: FAIL - - [".a.b ~ :where(.c.d ~ .e.f)" should be a valid selector] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/query/query-is.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/query/query-is.html.ini deleted file mode 100644 index 3dea30f295f..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/query/query-is.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[query-is.html] - [Selector '.a :is(:where(:where(.b ~ .c)))" should find the expected elements] - expected: FAIL - - [Selector '.a+:is(.b+.f, :is(.c>.e, .g))" should find the expected elements] - expected: FAIL - - [Selector '.b + :is(.c + .c + .c, .b + .c:not(span), .b + .c + .e) ~ .h" should find the expected elements] - expected: FAIL - - [Selector '.a :is(.b, .c)" should find the expected elements] - expected: FAIL - - [Selector '.a :is(.e+.f, .g>.b, .h)" should find the expected elements] - expected: FAIL - - [Selector '.a :is(.c#d, .e)" should find the expected elements] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/css/selectors/query/query-where.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/query/query-where.html.ini deleted file mode 100644 index 4c72d25b187..00000000000 --- a/tests/wpt/meta-legacy-layout/css/selectors/query/query-where.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[query-where.html] - [Selector '.a+:where(.b+.f, :where(.c>.e, .g))" should find the expected elements] - expected: FAIL - - [Selector '.a :where(:is(:is(.b ~ .c)))" should find the expected elements] - expected: FAIL - - [Selector '.a :where(.e+.f, .g>.b, .h)" should find the expected elements] - expected: FAIL - - [Selector '.a :where(.c#d, .e)" should find the expected elements] - expected: FAIL - - [Selector '.b + :where(.c + .c + .c, .b + .c:not(span), .b + .c + .e) ~ .h" should find the expected elements] - expected: FAIL - - [Selector '.a :where(.b, .c)" should find the expected elements] - expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/dom/abort/AbortSignal.any.js.ini b/tests/wpt/meta-legacy-layout/dom/abort/AbortSignal.any.js.ini index 5c57b72c1c3..51161991c3f 100644 --- a/tests/wpt/meta-legacy-layout/dom/abort/AbortSignal.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/abort/AbortSignal.any.js.ini @@ -33,4 +33,4 @@ [AbortSignal.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini b/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini index 0150f91cdc7..fc63edebcc9 100644 --- a/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/abort/event.any.js.ini @@ -107,4 +107,4 @@ [event.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/dom/abort/timeout-shadowrealm.any.js.ini b/tests/wpt/meta-legacy-layout/dom/abort/timeout-shadowrealm.any.js.ini index 2a8e04706a9..955936d39cd 100644 --- a/tests/wpt/meta-legacy-layout/dom/abort/timeout-shadowrealm.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/abort/timeout-shadowrealm.any.js.ini @@ -1,2 +1,2 @@ [timeout-shadowrealm.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini b/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini index 0ba840e7fdc..5243e6201af 100644 --- a/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/idlharness.window.js.ini @@ -32,9 +32,6 @@ [AbortSignal interface: existence and properties of interface object] expected: FAIL - [Element interface: attribute shadowRoot] - expected: FAIL - [Element interface: operation append([object Object\],[object Object\])] expected: FAIL @@ -215,9 +212,6 @@ [Element interface: operation replaceWith([object Object\],[object Object\])] expected: FAIL - [Element interface: element must inherit property "shadowRoot" with the proper type] - expected: FAIL - [XPathResult interface: attribute singleNodeValue] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini index 03890f8d54a..b05b39d77ea 100644 --- a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini +++ b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini @@ -130,3 +130,15 @@ [moveBefore with reference child whose parent is NOT the destination parent (context node) throws a NotFoundError.] expected: FAIL + + [Moving a node from a disconnected container to a disconnected new parent succeeds] + expected: FAIL + + [Moving a node from disconnected->connected throws a HIERARCHY_REQUEST_ERR] + expected: FAIL + + [Moving a node from connected->disconnected throws a HIERARCHY_REQUEST_ERR] + expected: FAIL + + [No custom element callbacks are run during disconnected moveBefore()] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/live-range-updates.html.ini b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/live-range-updates.html.ini index 1e3f9258fb0..72e0d48543e 100644 --- a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/live-range-updates.html.ini +++ b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/live-range-updates.html.ini @@ -7,3 +7,12 @@ [moveBefore does not cause range endContainer to snap up to parent, when endContainer ancestor is moved] expected: FAIL + + [moveBefore still results in range startContainer snapping up to parent when startContainer is moved] + expected: FAIL + + [moveBefore still causes range startContainer to snap up to parent, when startContainer ancestor is moved] + expected: FAIL + + [moveBefore still causes range endContainer to snap up to parent, when endContainer ancestor is moved] + 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 index 81e89c26d43..efe540824a3 100644 --- a/tests/wpt/meta-legacy-layout/encoding/api-basics.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/api-basics.any.js.ini @@ -3,4 +3,4 @@ [api-basics.any.worker.html] [api-basics.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 index f6c06fab7f9..a8ed72e8db5 100644 --- 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 @@ -3,4 +3,4 @@ [api-surrogates-utf8.any.html] [api-surrogates-utf8.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 index 3e0f0c76981..02ddc0f1db8 100644 --- 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 @@ -1,6 +1,6 @@ [iso-2022-jp-decoder.any.html] [iso-2022-jp-decoder.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [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 9d458d07d7a..b9ad1122949 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 @@ -45,4 +45,4 @@ [backpressure.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 42497e80af5..45cd2059ef4 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 @@ -183,4 +183,4 @@ [decode-attributes.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 28e91a1fa45..93035749e8c 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 @@ -63,4 +63,4 @@ [decode-bad-chunks.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 7daa88c2bc7..0c7a30bb9a5 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 @@ -93,4 +93,4 @@ [decode-non-utf8.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 5495ee7d7c3..522155f2930 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 @@ -27,4 +27,4 @@ [readable-writable-properties.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 index a2dc995f4e6..aa4f4b19716 100644 --- a/tests/wpt/meta-legacy-layout/encoding/textdecoder-arguments.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-arguments.any.js.ini @@ -1,6 +1,6 @@ [textdecoder-arguments.any.worker.html] [textdecoder-arguments.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [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 index 0496081accc..1b4182e40f6 100644 --- 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 @@ -1,6 +1,6 @@ [textdecoder-byte-order-marks.any.worker.html] [textdecoder-byte-order-marks.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [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 index 14bd4abe786..de43c57cda0 100644 --- 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 @@ -1,6 +1,6 @@ [textdecoder-fatal-streaming.any.worker.html] [textdecoder-fatal-streaming.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [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 index 01e6432c575..a233bd7ec25 100644 --- a/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-fatal.any.js.ini @@ -3,4 +3,4 @@ [textdecoder-fatal.any.html] [textdecoder-fatal.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 index 74217d859d5..c52e25e9c0b 100644 --- a/tests/wpt/meta-legacy-layout/encoding/textdecoder-ignorebom.any.js.ini +++ b/tests/wpt/meta-legacy-layout/encoding/textdecoder-ignorebom.any.js.ini @@ -3,4 +3,4 @@ [textdecoder-ignorebom.any.worker.html] [textdecoder-ignorebom.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT 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 index 5bbf4c938cb..4bfcd3e3e90 100644 --- 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 @@ -1,5 +1,5 @@ [textdecoder-utf16-surrogates.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textdecoder-utf16-surrogates.any.worker.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 index 6624ae34fb6..b11c312bf51 100644 --- 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 @@ -1,5 +1,5 @@ [textencoder-utf16-surrogates.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textencoder-utf16-surrogates.any.html] diff --git a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini index 54c6f1c84eb..bd5887b1236 100644 --- a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini @@ -28,3 +28,6 @@ [sec-fetch-dest - Not sent to non-trustworthy same-origin destination] expected: FAIL + + [sec-fetch-user - Not sent to non-trustworthy same-site destination] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini index 7616121487c..ea398e580ef 100644 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini +++ b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html.ini @@ -1,5 +1,5 @@ [createImageBitmap-serializable.html] - expected: TIMEOUT + expected: ERROR [Serialize ImageBitmap created from a vector SVGImageElement] expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.casesensitive.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.casesensitive.html.ini deleted file mode 100644 index 64e281aae16..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.casesensitive.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.canvas.context.casesensitive.html] - [Context name "2D" is unrecognised; matching is case sensitive] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.casesensitive.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.casesensitive.worker.js.ini deleted file mode 100644 index 27e9dca7c02..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.casesensitive.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.canvas.context.casesensitive.worker.html] - [Context name "2D" is unrecognised; matching is case sensitive] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.emptystring.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.emptystring.html.ini deleted file mode 100644 index 2c3eefedcd0..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.emptystring.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.canvas.context.emptystring.html] - [getContext with empty string returns null] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.emptystring.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.emptystring.worker.js.ini deleted file mode 100644 index cc368ac511e..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.emptystring.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.canvas.context.emptystring.worker.html] - [getContext with empty string returns null] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.invalid.args.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.invalid.args.html.ini deleted file mode 100644 index b942e4f7dc2..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.invalid.args.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.canvas.context.invalid.args.html] - [Calling getContext with invalid arguments.] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.invalid.args.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.invalid.args.worker.js.ini deleted file mode 100644 index cb833a67760..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-context/2d.canvas.context.invalid.args.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.canvas.context.invalid.args.worker.html] - [Calling getContext with invalid arguments.] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html.ini deleted file mode 100644 index f6455f9bd76..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.canvas.host.size.large.html] - expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.html.ini index 659dde6ed64..0ef32f676fc 100644 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.html.ini +++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.html.ini @@ -5,12 +5,8 @@ [Test that webglcontext.canvas should return the original OffscreenCanvas] expected: FAIL - [Test that getContext with un-supported string throws a TypeError.] - expected: FAIL - [Test that OffscreenCanvasRenderingContext2D with alpha disabled makes the OffscreenCanvas opaque] expected: FAIL [Test that getContext twice with different context type returns null the second time] expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.worker.js.ini index adac4035405..54b6ae58825 100644 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.worker.js.ini +++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.worker.js.ini @@ -5,12 +5,8 @@ [Test that webglcontext.canvas should return the original OffscreenCanvas] expected: FAIL - [Test that getContext with un-supported string throws a TypeError.] - expected: FAIL - [Test that OffscreenCanvasRenderingContext2D with alpha disabled makes the OffscreenCanvas opaque] expected: FAIL [Test that getContext twice with different context type returns null the second time] expected: FAIL - diff --git a/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini b/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini index c0b6438521a..cd55bc781e4 100644 --- a/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini @@ -6794,9 +6794,6 @@ [ShadowRoot interface: operation getHTML(optional GetHTMLOptions)] expected: FAIL - [ShadowRoot interface: attribute innerHTML] - expected: FAIL - [Element interface: operation setHTMLUnsafe((TrustedHTML or DOMString))] expected: FAIL @@ -9048,3 +9045,21 @@ [HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type] expected: FAIL + + [HTMLElement interface: operation showPopover(optional ShowPopoverOptions)] + expected: FAIL + + [HTMLElement interface: operation togglePopover(optional (TogglePopoverOptions or boolean))] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "showPopover(optional ShowPopoverOptions)" with the proper type] + expected: FAIL + + [HTMLElement interface: calling showPopover(optional ShowPopoverOptions) on document.createElement("noscript") with too few arguments must throw TypeError] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "togglePopover(optional (TogglePopoverOptions or boolean))" with the proper type] + expected: FAIL + + [HTMLElement interface: calling togglePopover(optional (TogglePopoverOptions or boolean)) on document.createElement("noscript") with too few arguments must throw TypeError] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini deleted file mode 100644 index 721952ed48a..00000000000 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[iframe-loading-lazy-nav-form-submit.html] - [Navigating iframe loading='lazy' before it is loaded: form submit] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index 7df8f9458e9..68203d2a082 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_escaping-2.html] expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini index cc18f512574..071b4378add 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini @@ -11,6 +11,3 @@ [Check that rel=noopener with target=_parent does a normal load] expected: FAIL - - [Check that rel=noopener with target=_self does a normal load] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/popovers/imperative-invokers.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/popovers/imperative-invokers.html.ini index f284dad761d..7bc21545333 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/popovers/imperative-invokers.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/popovers/imperative-invokers.html.ini @@ -1,4 +1,4 @@ -[imperative-invokers.tentative.html] +[imperative-invokers.html] expected: ERROR [normal opening] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-nested-in-button.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-nested-in-button.html.ini new file mode 100644 index 00000000000..98dcb783d22 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-nested-in-button.html.ini @@ -0,0 +1,9 @@ +[popover-nested-in-button.html] + [clicking a popover nested inside a button should not re-invoke the popover] + expected: FAIL + + [corner case: invoker that is also a popover] + expected: FAIL + + [invoker inside popover still works, even with weird nesting] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/webappapis/atob/base64.any.js.ini b/tests/wpt/meta-legacy-layout/html/webappapis/atob/base64.any.js.ini new file mode 100644 index 00000000000..c6193a53e99 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/webappapis/atob/base64.any.js.ini @@ -0,0 +1,6 @@ +[base64.any.shadowrealm.html] + expected: TIMEOUT + +[base64.any.worker.html] + +[base64.any.html] diff --git a/tests/wpt/meta-legacy-layout/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini b/tests/wpt/meta-legacy-layout/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini index 4448f3238a0..4211fb98c05 100644 --- a/tests/wpt/meta-legacy-layout/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini +++ b/tests/wpt/meta-legacy-layout/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini @@ -14,6 +14,9 @@ [Range is between two light slotted contents. Removing start container rescopes to its parent in light tree.] expected: FAIL + [Range is across shadow trees. Removing ancestor shadow host rescopes composed range end to parent.] + expected: FAIL + [Selection-getComposedRanges-dom-mutations-removal.html?mode=open] [Range is fully in shadow tree. Removing shadow host collapses composed StaticRange. Note it does not update previously returned composed StaticRange.] @@ -30,3 +33,6 @@ [Range is between two light slotted contents. Removing start container rescopes to its parent in light tree.] expected: FAIL + + [Range is across shadow trees. Removing ancestor shadow host rescopes composed range end to parent.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Document-caretPositionFromPoint.tentative.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Document-caretPositionFromPoint.tentative.html.ini new file mode 100644 index 00000000000..1cf076481a9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Document-caretPositionFromPoint.tentative.html.ini @@ -0,0 +1,36 @@ +[Document-caretPositionFromPoint.tentative.html] + [document.caretPositionFromPoint() should return a CaretPosition at the specified location] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to an input element which is the offsetNode.] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to a textarea element which is the offsetNode.] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to a closed shadaw tree when the shadow tree is specified as an argument] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location when the non-intersecting shadow tree is specified as an argument] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to an input element when the shadow tree is specified as an argument.] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the input element's shadow host's parent when the shadow tree is not specified as an argument.] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the shadow host's parent when the shadow tree is not specified as an argument] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the outer shadow host's parent when the point is in an inner shadow tree and no shadow tree is specified as an argument] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the inner shadow tree when the point is in an inner shadow tree and the inner shadow tree is specified as an argument] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the outer shadow tree when the point is in an inner shadow tree and the outer shadow tree is specified as an argument] + expected: FAIL + + [document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the inner shadow tree when the point is in an inner shadow tree and the inner shadow tree and the outer shadow tree are specified as an argument] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-adoptNode.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-adoptNode.html.ini new file mode 100644 index 00000000000..7a92de2d99f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-adoptNode.html.ini @@ -0,0 +1,6 @@ +[Document-prototype-adoptNode.html] + [adoptNode on a shadow root in open mode must throw a HierarchyRequestError] + expected: FAIL + + [adoptNode on a shadow root in closed mode must throw a HierarchyRequestError] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-currentScript.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-currentScript.html.ini new file mode 100644 index 00000000000..ada553e67c6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-currentScript.html.ini @@ -0,0 +1,24 @@ +[Document-prototype-currentScript.html] + [document.currentScript must not to be set to a script element in a shadow tree in open mode] + expected: FAIL + + [document.currentScript must not to be set to a script element in a shadow tree in closed mode] + expected: FAIL + + [document.currentScript must be set to a script element that loads an external script in a document tree] + expected: FAIL + + [document.currentScript must be set to a script element that loads an external script in a document tree (2)] + expected: FAIL + + [document.currentScript must not be set to a script element that loads an external script in an open shadow tree] + expected: FAIL + + [document.currentScript must not be set to a script element that loads an external script in a closed shadow tree] + expected: FAIL + + [document.currentScript must be set to a script element that loads an external script that was in an open shadow tree and then removed] + expected: FAIL + + [document.currentScript must be set to a script element that loads an external script that was in a closed shadow tree and then removed] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-importNode.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-importNode.html.ini new file mode 100644 index 00000000000..84861955091 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Document-prototype-importNode.html.ini @@ -0,0 +1,6 @@ +[Document-prototype-importNode.html] + [importNode on a shadow root in open mode must throw a NotSupportedError] + expected: FAIL + + [importNode on a shadow root in closed mode must throw a NotSupportedError] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html.ini new file mode 100644 index 00000000000..6768ee2f80c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html.ini @@ -0,0 +1,123 @@ +[DocumentOrShadowRoot-prototype-elementFromPoint.html] + [document.elementFromPoint and shadow.ElementFromPoint must return the shadow host of the hit-tested text node when the hit-tested text node is a direct child of the root and the host has display: inline] + expected: FAIL + + [document.elementFromPoint and shadow.ElementFromPoint must return the shadow host of the hit-tested text node when the hit-tested text node is a direct child of the root and the host has display: block] + expected: FAIL + + [document.elementFromPoint and shadow.ElementFromPoint must return the shadow host of the hit-tested text node when the hit-tested text node is a direct child of the root and the host has display: inline-block] + expected: FAIL + + [document.elementFromPoint and shadowRoot.elementFromPoint must return the shadow host when the hit-tested text node is assigned to a slot and the host has display: inline] + expected: FAIL + + [document.elementFromPoint and shadowRoot.elementFromPoint must return the shadow host when the hit-tested text node is assigned to a slot and the host has display: block] + expected: FAIL + + [document.elementFromPoint and shadowRoot.elementFromPoint must return the shadow host when the hit-tested text node is assigned to a slot and the host has display: inline-block] + expected: FAIL + + [document.elementFromPoint and shadowRoot.elementFromPoint must return the element assigned to a slot when hit-tested text node under an element is assigned to a slot in the shadow tree and the shadow host of the slot has display: inline] + expected: FAIL + + [document.elementFromPoint and shadowRoot.elementFromPoint must return the element assigned to a slot when hit-tested text node under an element is assigned to a slot in the shadow tree and the shadow host of the slot has display: block] + expected: FAIL + + [document.elementFromPoint and shadowRoot.elementFromPoint must return the element assigned to a slot when hit-tested text node under an element is assigned to a slot in the shadow tree and the shadow host of the slot has display: inline-block] + expected: FAIL + + [document.elementFromPoint must return the shadow host of the hit-tested element under a shadow root and shadowRoot.elementFromPoint must return the element parent of the hit-tested text node under the point when the shadow host has display: inline] + expected: FAIL + + [document.elementFromPoint must return the shadow host of the hit-tested element under a shadow root and shadowRoot.elementFromPoint must return the element parent of the hit-tested text node under the point when the shadow host has display: block] + expected: FAIL + + [document.elementFromPoint must return the shadow host of the hit-tested element under a shadow root and shadowRoot.elementFromPoint must return the element parent of the hit-tested text node under the point when the shadow host has display: inline-block] + expected: FAIL + + [document.elementFromPoint must return the shadow host and shadowRoot.elementFromPoint must return the slot parent of the fallback text when the hit-tested text node is a fallback content and the host has display: inline] + expected: FAIL + + [document.elementFromPoint must return the shadow host and shadowRoot.elementFromPoint must return the slot parent of the fallback text when the hit-tested text node is a fallback content and the host has display: block] + expected: FAIL + + [document.elementFromPoint must return the shadow host and shadowRoot.elementFromPoint must return the slot parent of the fallback text when the hit-tested text node is a fallback content and the host has display: inline-block] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint, innerShadow.elementFromPoint must return a child element assigned to a slot when the hit-tested text node is assigned to a slot in the shadow tree of the child element and the outer shadow host has display: inline] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint, innerShadow.elementFromPoint must return a child element assigned to a slot when the hit-tested text node is assigned to a slot in the shadow tree of the child element and the outer shadow host has display: block] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint, innerShadow.elementFromPoint must return a child element assigned to a slot when the hit-tested text node is assigned to a slot in the shadow tree of the child element and the outer shadow host has display: inline-block] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint, innerShadow.elementFromPoint must return a child element with its own shadow tree assigned to a slot when the hit-tested text node is its direct child and the outer shadow host has display: inline] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint, innerShadow.elementFromPoint must return a child element with its own shadow tree assigned to a slot when the hit-tested text node is its direct child and the outer shadow host has display: block] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint, innerShadow.elementFromPoint must return a child element with its own shadow tree assigned to a slot when the hit-tested text node is its direct child and the outer shadow host has display: inline-block] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint must return a child element with its own shadow tree assigned to a slot when the hit-tested text node is a child of another element and innerShadow.elementFromPoint must return the parent element of the hit-tested text node under it when the outer shadow host has display: inline] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint must return a child element with its own shadow tree assigned to a slot when the hit-tested text node is a child of another element and innerShadow.elementFromPoint must return the parent element of the hit-tested text node under it when the outer shadow host has display: block] + expected: FAIL + + [document.elementFromPoint, shadowRoot.elementFromPoint must return a child element with its own shadow tree assigned to a slot when the hit-tested text node is a child of another element and innerShadow.elementFromPoint must return the parent element of the hit-tested text node under it when the outer shadow host has display: inline-block] + expected: FAIL + + [document.elementsFromPoint and shadow.elementsFromPoint must return the shadow host and its ancestors of the hit-tested text node when the hit-tested text node is a direct child of the root and the host has display: inline] + expected: FAIL + + [document.elementsFromPoint and shadow.elementsFromPoint must return the shadow host and its ancestors of the hit-tested text node when the hit-tested text node is a direct child of the root and the host has display: block] + expected: FAIL + + [document.elementsFromPoint and shadow.elementsFromPoint must return the shadow host and its ancestors of the hit-tested text node when the hit-tested text node is a direct child of the root and the host has display: inline-block] + expected: FAIL + + [document.elementsFromPoint and shadowRoot.elementsFromPoint must return the shadow host and its ancestors when the hit-tested text node is assigned to a slot and the host has display: inline] + expected: FAIL + + [document.elementsFromPoint and shadowRoot.elementsFromPoint must return the shadow host and its ancestors when the hit-tested text node is assigned to a slot and the host has display: block] + expected: FAIL + + [document.elementsFromPoint and shadowRoot.elementsFromPoint must return the shadow host and its ancestors when the hit-tested text node is assigned to a slot and the host has display: inline-block] + expected: FAIL + + [document.elementsFromPoint and shadowRoot.elementsFromPoint must return the element assigned to a slot and its non-shadow ancestors when hit-tested text node under an element is assigned to a slot in the shadow tree and the shadow host of the slot has display: inline] + expected: FAIL + + [document.elementsFromPoint and shadowRoot.elementsFromPoint must return the element assigned to a slot and its non-shadow ancestors when hit-tested text node under an element is assigned to a slot in the shadow tree and the shadow host of the slot has display: block] + expected: FAIL + + [document.elementsFromPoint and shadowRoot.elementsFromPoint must return the element assigned to a slot and its non-shadow ancestors when hit-tested text node under an element is assigned to a slot in the shadow tree and the shadow host of the slot has display: inline-block] + expected: FAIL + + [document.elementsFromPoint must return the shadow host and its ancestors of the hit-tested element under a shadow root andshadowRoot.elementsFromPoint must return the element parent and its non-shadow ancestors of the hit-tested text node under the point when the shadow host has display: inline] + expected: FAIL + + [document.elementsFromPoint must return the shadow host and its ancestors of the hit-tested element under a shadow root andshadowRoot.elementsFromPoint must return the element parent and its non-shadow ancestors of the hit-tested text node under the point when the shadow host has display: block] + expected: FAIL + + [document.elementsFromPoint must return the shadow host and its ancestors of the hit-tested element under a shadow root andshadowRoot.elementsFromPoint must return the element parent and its non-shadow ancestors of the hit-tested text node under the point when the shadow host has display: inline-block] + expected: FAIL + + [document.elementsFromPoint must return the shadow host and its ancestors and shadowRoot.elementsFromPoint must return the slot parent of the fallback text and its non-shadow ancestors when the hit-tested text node is a fallback content and the host has display: inline] + expected: FAIL + + [document.elementsFromPoint must return the shadow host and its ancestors and shadowRoot.elementsFromPoint must return the slot parent of the fallback text and its non-shadow ancestors when the hit-tested text node is a fallback content and the host has display: block] + expected: FAIL + + [document.elementsFromPoint must return the shadow host and its ancestors and shadowRoot.elementsFromPoint must return the slot parent of the fallback text and its non-shadow ancestors when the hit-tested text node is a fallback content and the host has display: inline-block] + expected: FAIL + + [shadowRoot.elementsFromPoint must behave the same with document.elementsFromPoint regarding HTML element] + expected: FAIL + + [elementsFromPoint should return all elements under a point, even when context object is not connected] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-attachShadow-custom-element.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-attachShadow-custom-element.html.ini new file mode 100644 index 00000000000..94f7b53a436 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-attachShadow-custom-element.html.ini @@ -0,0 +1,18 @@ +[Element-interface-attachShadow-custom-element.html] + [Element.attachShadow must create an instance of ShadowRoot for autonomous custom elements] + expected: FAIL + + [Element.attachShadow must create an instance of ShadowRoot for undefined autonomous custom elements] + expected: FAIL + + [Element.attachShadow for an autonomous custom element with disabledFeatures=["shadow"\] should throw a NotSupportedError] + expected: FAIL + + [Element.attachShadow for a customized built-in element with disabledFeatures=["shadow"\] should throw a NotSupportedError] + expected: FAIL + + [Element.attachShadow for a custom element with disabledFeatures=["SHADOW"\] should not throw a NotSupportedError] + expected: FAIL + + [Element.attachShadow must throw a NotSupportedError for customized built-in elements] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-attachShadow.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-attachShadow.html.ini new file mode 100644 index 00000000000..d5f647c20c9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-attachShadow.html.ini @@ -0,0 +1,12 @@ +[Element-interface-attachShadow.html] + [Check the existence of Element.attachShadow] + expected: FAIL + + [Element.attachShadow must create an instance of ShadowRoot] + expected: FAIL + + [Element.attachShadow must throw a NotSupportedError if the context object already hosts a shadow tree] + expected: FAIL + + [Element.attachShadow must throw a NotSupportedError for non-safelisted elements] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-shadowRoot-attribute.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-shadowRoot-attribute.html.ini new file mode 100644 index 00000000000..107bc167502 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Element-interface-shadowRoot-attribute.html.ini @@ -0,0 +1,6 @@ +[Element-interface-shadowRoot-attribute.html] + [shadowRoot attribute must return the open shadow root associated with the element] + expected: FAIL + + [shadowRoot attribute must return null if the shadow root attached to the element is closed] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Extensions-to-Event-Interface.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Extensions-to-Event-Interface.html.ini new file mode 100644 index 00000000000..5bddf6b1d31 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Extensions-to-Event-Interface.html.ini @@ -0,0 +1,45 @@ +[Extensions-to-Event-Interface.html] + [composedPath() must return an empty array when the event is no longer dispatched] + expected: FAIL + + [composed on EventInit must default to false] + expected: FAIL + + [composed on EventInit must set the composed flag] + expected: FAIL + + [The event must propagate out of open mode shadow boundaries when the composed flag is set] + expected: FAIL + + [The event must propagate out of closed mode shadow boundaries when the composed flag is set] + expected: FAIL + + [The event must not propagate out of open mode shadow boundaries when the composed flag is unset] + expected: FAIL + + [The event must not propagate out of closed mode shadow boundaries when the composed flag is unset] + expected: FAIL + + [The event must not propagate out of open mode shadow boundaries when the composed flag is unset on an event with relatedTarget] + expected: FAIL + + [The event must not propagate out of closed mode shadow boundaries when the composed flag is unset on an event with relatedTarget] + expected: FAIL + + [The event must not propagate out of open mode shadow tree of the target but must propagate out of inner shadow trees when the scoped flag is set] + expected: FAIL + + [The event must not propagate out of closed mode shadow tree of the target but must propagate out of inner shadow trees when the scoped flag is set] + expected: FAIL + + [The event must propagate out of open mode shadow tree in which the relative target and the relative related target are the same] + expected: FAIL + + [The event must propagate out of closed mode shadow tree in which the relative target and the relative related target are the same] + expected: FAIL + + [composedPath() must contain and only contain the unclosed nodes of target in open mode shadow trees] + expected: FAIL + + [composedPath() must contain and only contain the unclosed nodes of target in closed mode shadow trees] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/HTMLSlotElement-interface.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/HTMLSlotElement-interface.html.ini new file mode 100644 index 00000000000..858ebe7170d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/HTMLSlotElement-interface.html.ini @@ -0,0 +1,54 @@ +[HTMLSlotElement-interface.html] + [HTMLSlotElement must be defined on window] + expected: FAIL + + ["name" attribute on HTMLSlotElement must reflect "name" attribute] + expected: FAIL + + [assignedNodes() on a HTMLSlotElement must return an empty array when the slot element is not in a tree or in a document tree] + expected: FAIL + + [assignedNodes({"flattened":false}) on a HTMLSlotElement must return an empty array when the slot element is not in a tree or in a document tree] + expected: FAIL + + [assignedNodes({"flattened":true}) on a HTMLSlotElement must return an empty array when the slot element is not in a tree or in a document tree] + expected: FAIL + + [assignedNodes() must return the list of assigned nodes when none of the assigned nodes themselves are slots] + expected: FAIL + + [assignedNodes({"flattened":false}) must return the list of assigned nodes when none of the assigned nodes themselves are slots] + expected: FAIL + + [assignedNodes({"flattened":true}) must return the list of assigned nodes when none of the assigned nodes themselves are slots] + expected: FAIL + + [assignedNodes() must update when slot and name attributes are modified] + expected: FAIL + + [assignedNodes({"flattened":false}) must update when slot and name attributes are modified] + expected: FAIL + + [assignedNodes({"flattened":true}) must update when slot and name attributes are modified] + expected: FAIL + + [assignedNodes() must update when a default slot is introduced dynamically by a slot rename] + expected: FAIL + + [assignedNodes({"flattened":false}) must update when a default slot is introduced dynamically by a slot rename] + expected: FAIL + + [assignedNodes({"flattened":true}) must update when a default slot is introduced dynamically by a slot rename] + expected: FAIL + + [assignedNodes() must update when slot elements are inserted or removed] + expected: FAIL + + [assignedNodes({"flattened":false}) must update when slot elements are inserted or removed] + expected: FAIL + + [assignedNodes({"flattened":true}) must update when slot elements are inserted or removed] + expected: FAIL + + [assignedNodes({flatten: true}) must return the distributed nodes, and assignedNodes() and assignedNodes({flatten: false}) must returned the assigned nodes] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html.ini new file mode 100644 index 00000000000..5a34f035218 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html.ini @@ -0,0 +1,4 @@ +[MouseEvent-prototype-offsetX-offsetY.html] + expected: ERROR + [MouseEvent's offsetX and offsetY attributes must be relative to the target.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Node-prototype-cloneNode.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Node-prototype-cloneNode.html.ini new file mode 100644 index 00000000000..8a593925b23 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Node-prototype-cloneNode.html.ini @@ -0,0 +1,12 @@ +[Node-prototype-cloneNode.html] + [cloneNode on a shadow root in open mode must throw a NotSupportedError] + expected: FAIL + + [cloneNode on a shadow root in closed mode must throw a NotSupportedError] + expected: FAIL + + [cloneNode on an element with an open shadow root should not clone its shadow root] + expected: FAIL + + [cloneNode on an element with a closed shadow root should not clone its shadow root] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Range-prototype-insertNode.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Range-prototype-insertNode.html.ini new file mode 100644 index 00000000000..24917ce5ea1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Range-prototype-insertNode.html.ini @@ -0,0 +1,3 @@ +[Range-prototype-insertNode.html] + [Test if Range.prototype.insertNode() should accept ShadowRoot input.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/ShadowRoot-interface.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/ShadowRoot-interface.html.ini new file mode 100644 index 00000000000..db285cf96c1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/ShadowRoot-interface.html.ini @@ -0,0 +1,27 @@ +[ShadowRoot-interface.html] + [ShadowRoot.activeElement must return the focused element of the context object when shadow root is open.] + expected: FAIL + + [ShadowRoot.activeElement must return the focused element of the context object when shadow root is closed.] + expected: FAIL + + [ShadowRoot.host must return the shadow host of the context object.] + expected: FAIL + + [ShadowRoot.innerHTML must return the result of the HTML fragment serialization algorithm when shadow root is open.] + expected: FAIL + + [ShadowRoot.innerHTML must return the result of the HTML fragment serialization algorithm when shadow root is closed.] + expected: FAIL + + [ShadowRoot.innerHTML must replace all with the result of invoking the fragment parsing algorithm when shadow root is open.] + expected: FAIL + + [ShadowRoot.innerHTML must replace all with the result of invoking the fragment parsing algorithm when shadow root is closed.] + expected: FAIL + + [ShadowRoot.styleSheets must return a StyleSheetList sequence containing the shadow root style sheets when shadow root is open.] + expected: FAIL + + [ShadowRoot.styleSheets must return a StyleSheetList sequence containing the shadow root style sheets when shadow root is closed.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/Slottable-mixin.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/Slottable-mixin.html.ini new file mode 100644 index 00000000000..5bde06d5006 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/Slottable-mixin.html.ini @@ -0,0 +1,12 @@ +[Slottable-mixin.html] + [assignedSlot attribute must be defined on Element and Text interfaces] + expected: FAIL + + [assignedSlot must return null when the node does not have an assigned node] + expected: FAIL + + [assignedSlot must return the assigned slot] + expected: FAIL + + [assignedSlot must return null when the assigned slot element is inside a closed shadow tree] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/capturing-and-bubbling-event-listeners-across-shadow-trees.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/capturing-and-bubbling-event-listeners-across-shadow-trees.html.ini new file mode 100644 index 00000000000..19b257357ac --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/capturing-and-bubbling-event-listeners-across-shadow-trees.html.ini @@ -0,0 +1,12 @@ +[capturing-and-bubbling-event-listeners-across-shadow-trees.html] + [Capturing event listeners should be invoked before bubbling event listeners when an event is dispatched inside a shadow tree] + expected: FAIL + + [Capturing event listeners should be invoked before bubbling event listeners when an event is dispatched inside a doubly nested shadow tree] + expected: FAIL + + [Capturing event listeners should be invoked before bubbling event listeners when an event is dispatched via a slot] + expected: FAIL + + [Capturing event listeners should be invoked before bubbling event listeners when an event is dispatched inside a shadow tree which passes through another shadow tree] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/crashtests/move-to-new-tree-1343016.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/crashtests/move-to-new-tree-1343016.html.ini new file mode 100644 index 00000000000..77cd88fd2ba --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/crashtests/move-to-new-tree-1343016.html.ini @@ -0,0 +1,2 @@ +[move-to-new-tree-1343016.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-after-attachshadow.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-after-attachshadow.html.ini new file mode 100644 index 00000000000..f856eafa140 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-after-attachshadow.html.ini @@ -0,0 +1,2 @@ +[declarative-after-attachshadow.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini new file mode 100644 index 00000000000..4a35ff289d7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini @@ -0,0 +1,1944 @@ +[declarative-shadow-dom-attachment.html] + [Declarative Shadow DOM as a child of <article>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <aside>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <blockquote>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <div>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <footer>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h1>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h2>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h3>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h4>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h5>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h6>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <header>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <main>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <nav>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <p>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <section>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <span>, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <a>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <abbr>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <address>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <area>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <audio>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <b>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <base>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdi>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdo>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <br>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <button>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <canvas>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <caption>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <cite>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <code>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <col>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <colgroup>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <data>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <datalist>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dd>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <del>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <details>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dfn>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dialog>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dl>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dt>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <em>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <embed>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <fieldset>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figcaption>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figure>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <form>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <head>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <hr>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <html>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <i>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <iframe>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <img>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <input>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ins>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <kbd>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <label>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <legend>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <li>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <link>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <map>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <mark>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <menu>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meta>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meter>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <noscript>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <object>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ol>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <optgroup>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <option>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <output>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <param>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <pre>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <progress>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <q>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rp>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rt>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ruby>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <s>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <samp>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <script>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <select>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <slot>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <small>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <source>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <strong>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <style>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sub>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sup>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <summary>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <table>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tbody>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <td>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <textarea>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tfoot>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <th>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <thead>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <time>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <title>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tr>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <track>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <u>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ul>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <var>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <video>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <wbr>, with mode=open, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <article>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <aside>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <blockquote>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <div>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <footer>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h1>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h2>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h3>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h4>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h5>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h6>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <header>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <main>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <nav>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <p>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <section>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <span>, with mode=closed, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <a>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <abbr>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <address>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <area>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <audio>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <b>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <base>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdi>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdo>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <br>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <button>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <canvas>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <caption>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <cite>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <code>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <col>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <colgroup>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <data>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <datalist>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dd>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <del>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <details>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dfn>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dialog>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dl>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dt>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <em>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <embed>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <fieldset>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figcaption>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figure>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <form>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <head>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <hr>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <html>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <i>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <iframe>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <img>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <input>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ins>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <kbd>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <label>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <legend>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <li>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <link>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <map>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <mark>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <menu>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meta>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meter>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <noscript>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <object>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ol>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <optgroup>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <option>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <output>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <param>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <pre>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <progress>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <q>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rp>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rt>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ruby>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <s>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <samp>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <script>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <select>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <slot>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <small>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <source>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <strong>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <style>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sub>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sup>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <summary>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <table>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tbody>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <td>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <textarea>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tfoot>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <th>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <thead>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <time>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <title>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tr>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <track>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <u>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ul>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <var>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <video>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <wbr>, with mode=closed, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <article>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <aside>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <blockquote>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <div>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <footer>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h1>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h2>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h3>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h4>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h5>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h6>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <header>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <main>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <nav>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <p>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <section>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <span>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <a>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <abbr>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <address>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <area>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <audio>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <b>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <base>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdi>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdo>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <br>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <button>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <canvas>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <caption>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <cite>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <code>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <col>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <colgroup>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <data>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <datalist>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dd>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <del>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <details>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dfn>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dialog>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dl>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dt>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <em>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <embed>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <fieldset>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figcaption>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figure>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <form>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <head>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <hr>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <html>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <i>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <iframe>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <img>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <input>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ins>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <kbd>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <label>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <legend>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <li>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <link>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <map>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <mark>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <menu>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meta>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meter>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <noscript>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <object>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ol>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <optgroup>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <option>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <output>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <param>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <pre>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <progress>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <q>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rp>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rt>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ruby>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <s>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <samp>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <script>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <select>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <slot>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <small>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <source>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <strong>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <style>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sub>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sup>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <summary>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <table>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tbody>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <td>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <textarea>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tfoot>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <th>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <thead>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <time>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <title>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tr>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <track>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <u>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ul>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <var>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <video>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <wbr>, with mode=invalid, delegatesFocus=false. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <article>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <aside>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <blockquote>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <div>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <footer>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h1>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h2>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h3>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h4>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h5>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h6>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <header>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <main>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <nav>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <p>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <section>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <span>, with mode=open, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <a>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <abbr>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <address>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <area>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <audio>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <b>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <base>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdi>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdo>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <br>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <button>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <canvas>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <caption>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <cite>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <code>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <col>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <colgroup>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <data>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <datalist>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dd>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <del>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <details>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dfn>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dialog>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dl>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dt>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <em>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <embed>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <fieldset>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figcaption>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figure>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <form>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <head>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <hr>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <html>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <i>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <iframe>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <img>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <input>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ins>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <kbd>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <label>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <legend>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <li>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <link>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <map>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <mark>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <menu>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meta>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meter>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <noscript>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <object>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ol>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <optgroup>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <option>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <output>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <param>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <pre>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <progress>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <q>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rp>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rt>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ruby>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <s>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <samp>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <script>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <select>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <slot>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <small>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <source>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <strong>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <style>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sub>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sup>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <summary>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <table>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tbody>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <td>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <textarea>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tfoot>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <th>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <thead>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <time>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <title>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tr>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <track>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <u>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ul>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <var>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <video>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <wbr>, with mode=open, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <article>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <aside>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <blockquote>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <div>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <footer>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h1>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h2>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h3>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h4>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h5>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h6>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <header>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <main>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <nav>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <p>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <section>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <span>, with mode=closed, delegatesFocus=true. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of <a>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <abbr>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <address>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <area>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <audio>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <b>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <base>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdi>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdo>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <br>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <button>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <canvas>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <caption>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <cite>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <code>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <col>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <colgroup>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <data>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <datalist>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dd>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <del>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <details>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dfn>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dialog>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dl>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dt>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <em>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <embed>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <fieldset>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figcaption>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figure>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <form>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <head>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <hr>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <html>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <i>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <iframe>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <img>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <input>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ins>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <kbd>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <label>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <legend>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <li>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <link>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <map>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <mark>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <menu>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meta>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meter>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <noscript>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <object>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ol>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <optgroup>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <option>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <output>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <param>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <pre>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <progress>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <q>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rp>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rt>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ruby>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <s>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <samp>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <script>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <select>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <slot>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <small>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <source>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <strong>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <style>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sub>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sup>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <summary>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <table>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tbody>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <td>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <textarea>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tfoot>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <th>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <thead>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <time>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <title>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tr>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <track>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <u>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ul>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <var>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <video>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <wbr>, with mode=closed, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <article>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <aside>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <blockquote>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <div>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <footer>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h1>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h2>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h3>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h4>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h5>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <h6>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <header>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <main>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <nav>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <p>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <section>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <span>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <a>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <abbr>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <address>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <area>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <audio>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <b>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <base>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdi>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <bdo>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <br>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <button>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <canvas>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <caption>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <cite>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <code>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <col>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <colgroup>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <data>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <datalist>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dd>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <del>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <details>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dfn>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dialog>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dl>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <dt>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <em>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <embed>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <fieldset>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figcaption>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <figure>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <form>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <head>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <hr>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <html>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <i>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <iframe>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <img>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <input>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ins>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <kbd>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <label>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <legend>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <li>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <link>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <map>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <mark>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <menu>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meta>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <meter>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <noscript>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <object>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ol>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <optgroup>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <option>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <output>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <param>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <pre>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <progress>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <q>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rp>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <rt>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ruby>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <s>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <samp>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <script>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <select>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <slot>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <small>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <source>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <strong>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <style>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sub>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <sup>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <summary>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <table>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tbody>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <td>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <textarea>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tfoot>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <th>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <thead>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <time>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <title>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <tr>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <track>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <u>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <ul>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <var>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <video>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL + + [Declarative Shadow DOM as a child of <wbr>, with mode=invalid, delegatesFocus=true. Should be disallowed.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-available-to-element-internals.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-available-to-element-internals.html.ini new file mode 100644 index 00000000000..1e5c4518079 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-available-to-element-internals.html.ini @@ -0,0 +1,3 @@ +[declarative-shadow-dom-available-to-element-internals.html] + [Declarative Shadow DOM: shadow root should be available to element internals] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-basic.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-basic.html.ini new file mode 100644 index 00000000000..751a14f9d24 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-basic.html.ini @@ -0,0 +1,60 @@ +[declarative-shadow-dom-basic.html] + [Declarative Shadow DOM: Basic test] + expected: FAIL + + [Declarative Shadow DOM: Feature detection] + expected: FAIL + + [Shadowrootmode reflection] + expected: FAIL + + [Shadowrootmode reflection, setter] + expected: FAIL + + [Shadowrootdelegatesfocus reflection] + expected: FAIL + + [Shadowrootdelegatesfocus reflection, setter] + expected: FAIL + + [Shadowrootclonable reflection] + expected: FAIL + + [Shadowrootclonable reflection, setter] + expected: FAIL + + [Declarative Shadow DOM: Fragment parser basic test] + expected: FAIL + + [Declarative Shadow DOM: Invalid shadow root attribute] + expected: FAIL + + [Declarative Shadow DOM: Closed shadow root attribute] + expected: FAIL + + [Declarative Shadow DOM: Missing closing tag] + expected: FAIL + + [Declarative Shadow DOM: delegates focus attribute] + expected: FAIL + + [Declarative Shadow DOM: clonable attribute] + expected: FAIL + + [Declarative Shadow DOM: Multiple roots] + expected: FAIL + + [Declarative Shadow DOM: template containing declarative shadow root (with shadowrootclonable)] + expected: FAIL + + [Declarative Shadow DOM: template containing (deeply nested) declarative shadow root] + expected: FAIL + + [Declarative Shadow DOM: template containing a template containing declarative shadow root] + expected: FAIL + + [Declarative Shadow DOM: template containing declarative shadow root and UA shadow root] + expected: FAIL + + [Declarative Shadow DOM: explicit test that exceptions are not thrown] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-opt-in.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-opt-in.html.ini new file mode 100644 index 00000000000..51bae6a8a7c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-opt-in.html.ini @@ -0,0 +1,25 @@ +[declarative-shadow-dom-opt-in.html] + expected: TIMEOUT + [Non-fragment parsing needs no opt-in] + expected: FAIL + + [innerHTML on shadowRoot] + expected: FAIL + + [document.write allowed from synchronous script loaded from main document] + expected: FAIL + + [document.write disallowed on fresh document] + expected: FAIL + + [iframe] + expected: FAIL + + [iframe, no sandbox] + expected: FAIL + + [sandboxed iframe allows declarative Shadow DOM] + expected: TIMEOUT + + [iframe with no sandbox allows declarative Shadow DOM] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-repeats-2.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-repeats-2.html.ini new file mode 100644 index 00000000000..04d052175a6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-repeats-2.html.ini @@ -0,0 +1,3 @@ +[declarative-shadow-dom-repeats-2.html] + [Repeated declarative shadow roots keep only the first] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-repeats.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-repeats.html.ini new file mode 100644 index 00000000000..c6200e5d994 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-repeats.html.ini @@ -0,0 +1,9 @@ +[declarative-shadow-dom-repeats.html] + [Repeated declarative shadow roots keep only the first] + expected: FAIL + + [Calling attachShadow() on declarative shadow root must match mode] + expected: FAIL + + [Calling attachShadow() on declarative shadow root must match all parameters] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html.ini new file mode 100644 index 00000000000..81cb59eb03e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html.ini @@ -0,0 +1,3 @@ +[declarative-shadow-dom-write-to-iframe.html] + [`document.write` on inner iframe handles declarative shadow DOM] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/gethtml-ordering.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/gethtml-ordering.html.ini new file mode 100644 index 00000000000..393cf2690e6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/gethtml-ordering.html.ini @@ -0,0 +1,2 @@ +[gethtml-ordering.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/gethtml.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/gethtml.html.ini new file mode 100644 index 00000000000..50dd18897e6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/gethtml.html.ini @@ -0,0 +1,20712 @@ +[gethtml.html] + [Element.getHTML() on <a> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <a><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <a> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <a><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <abbr> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <abbr><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <abbr> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <abbr><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <address> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <address><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <address> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <address><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <area> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <area><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <area> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <area><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <article><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <aside><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <audio> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <audio><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <audio> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <audio><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <b> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <b><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <b> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <b><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <base> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <base><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <base> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <base><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <bdi> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <bdi><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <bdi> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <bdi><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <bdo> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <bdo><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <bdo> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <bdo><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <blockquote><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <body> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <body><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <body> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <body><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <br> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <br><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <br> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <br><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <button> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <button><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <button> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <button><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <canvas> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <canvas><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <canvas> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <canvas><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <caption> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <caption><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <caption> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <caption><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <cite> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <cite><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <cite> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <cite><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <code> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <code><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <code> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <code><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <col> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <col><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <col> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <col><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <colgroup> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <colgroup><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <colgroup> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <colgroup><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <data> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <data><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <data> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <data><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <datalist> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <datalist><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <datalist> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <datalist><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dd> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dd><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dd> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dd><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <del> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <del><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <del> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <del><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <details> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <details><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <details> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <details><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dfn> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dfn><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dfn> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dfn><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dialog> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dialog><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dialog> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dialog><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <div><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dl> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dl><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dl> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dl><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dt> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <dt><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dt> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <dt><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <em> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <em><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <em> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <em><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <embed> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <embed><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <embed> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <embed><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <fieldset> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <fieldset><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <fieldset> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <fieldset><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <figcaption> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <figcaption><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <figcaption> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <figcaption><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <figure> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <figure><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <figure> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <figure><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <footer><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <form> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <form><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <form> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <form><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h1><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h2><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h3><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h4><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h5><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <h6><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <head> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <head><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <head> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <head><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <header><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <hr> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <hr><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <hr> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <hr><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <html> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <html><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <html> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <html><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <i> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <i><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <i> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <i><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <iframe> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <iframe><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <iframe> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <iframe><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <img> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <img><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <img> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <img><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <input> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <input><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <input> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <input><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ins> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ins><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ins> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ins><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <kbd> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <kbd><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <kbd> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <kbd><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <label> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <label><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <label> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <label><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <legend> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <legend><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <legend> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <legend><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <li> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <li><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <li> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <li><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <link> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <link><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <link> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <link><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <main><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <map> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <map><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <map> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <map><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <mark> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <mark><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <mark> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <mark><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <menu> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <menu><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <menu> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <menu><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <meta> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <meta><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <meta> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <meta><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <meter> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <meter><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <meter> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <meter><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <nav><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <noscript> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <noscript><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <noscript> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <noscript><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <object> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <object><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <object> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <object><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ol> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ol><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ol> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ol><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <optgroup> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <optgroup><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <optgroup> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <optgroup><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <option> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <option><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <option> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <option><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <output> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <output><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <output> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <output><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <p><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <param> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <param><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <param> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <param><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <pre> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <pre><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <pre> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <pre><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <progress> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <progress><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <progress> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <progress><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <q> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <q><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <q> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <q><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <rp> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <rp><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <rp> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <rp><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <rt> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <rt><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <rt> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <rt><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ruby> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ruby><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ruby> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ruby><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <s> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <s><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <s> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <s><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <samp> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <samp><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <samp> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <samp><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <script> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <script><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <script> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <script><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <section><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <select> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <select><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <select> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <select><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <slot> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <slot><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <slot> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <slot><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <small> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <small><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <small> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <small><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <source> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <source><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <source> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <source><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with imperative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=false, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=false, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=open, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=undefined, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=false, clonable=true, without shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <span><span>light</span>, with declarative shadow, mode=closed, delegatesFocus=true, serializable=true, clonable=true, without shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <strong> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <strong><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <strong> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <strong><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <style> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <style><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <style> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <style><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <sub> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <sub><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <sub> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <sub><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <sup> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <sup><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <sup> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <sup><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <summary> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <summary><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <summary> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <summary><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <table> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <table><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <table> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <table><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <tbody> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <tbody><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <tbody> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <tbody><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <td> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <td><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <td> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <td><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <template> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <template><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <template> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <template><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <textarea> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <textarea><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <textarea> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <textarea><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <tfoot> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <tfoot><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <tfoot> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <tfoot><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <th> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <th><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <th> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <th><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <thead> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <thead><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <thead> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <thead><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <time> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <time><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <time> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <time><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <title> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <title><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <title> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <title><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <tr> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <tr><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <tr> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <tr><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <track> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <track><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <track> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <track><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <u> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <u><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <u> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <u><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ul> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <ul><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ul> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <ul><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <var> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <var><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <var> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <var><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <video> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <video><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <video> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <video><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <wbr> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <wbr><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <wbr> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <wbr><span>light</span> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <htmlunknown> with shadow tree contents.] + expected: FAIL + + [Element.getHTML() on <htmlunknown><span>light</span> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <htmlunknown> with shadow tree contents.] + expected: FAIL + + [ShadowRoot.getHTML() on <htmlunknown><span>light</span> with shadow tree contents.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/getinnerhtml.tentative.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/getinnerhtml.tentative.html.ini new file mode 100644 index 00000000000..7f905c23d05 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/getinnerhtml.tentative.html.ini @@ -0,0 +1,990 @@ +[getinnerhtml.tentative.html] + [Element.getInnerHTML() on <a>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <a>] + expected: FAIL + + [Element.getInnerHTML() on <abbr>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <abbr>] + expected: FAIL + + [Element.getInnerHTML() on <address>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <address>] + expected: FAIL + + [Element.getInnerHTML() on <area>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <area>] + expected: FAIL + + [Element.getInnerHTML() on <article>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <article>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <article>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <article>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <article>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <article>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <article>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <article>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <aside>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <aside>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <aside>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <aside>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <aside>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <aside>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <aside>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <aside>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <audio>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <audio>] + expected: FAIL + + [Element.getInnerHTML() on <b>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <b>] + expected: FAIL + + [Element.getInnerHTML() on <base>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <base>] + expected: FAIL + + [Element.getInnerHTML() on <bdi>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <bdi>] + expected: FAIL + + [Element.getInnerHTML() on <bdo>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <bdo>] + expected: FAIL + + [Element.getInnerHTML() on <blockquote>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <blockquote>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <blockquote>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <blockquote>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <blockquote>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <blockquote>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <blockquote>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <blockquote>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <body>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <body>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <body>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <body>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <body>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <body>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <body>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <body>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <br>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <br>] + expected: FAIL + + [Element.getInnerHTML() on <button>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <button>] + expected: FAIL + + [Element.getInnerHTML() on <canvas>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <canvas>] + expected: FAIL + + [Element.getInnerHTML() on <caption>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <caption>] + expected: FAIL + + [Element.getInnerHTML() on <cite>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <cite>] + expected: FAIL + + [Element.getInnerHTML() on <code>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <code>] + expected: FAIL + + [Element.getInnerHTML() on <col>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <col>] + expected: FAIL + + [Element.getInnerHTML() on <colgroup>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <colgroup>] + expected: FAIL + + [Element.getInnerHTML() on <data>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <data>] + expected: FAIL + + [Element.getInnerHTML() on <datalist>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <datalist>] + expected: FAIL + + [Element.getInnerHTML() on <dd>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <dd>] + expected: FAIL + + [Element.getInnerHTML() on <del>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <del>] + expected: FAIL + + [Element.getInnerHTML() on <details>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <details>] + expected: FAIL + + [Element.getInnerHTML() on <dfn>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <dfn>] + expected: FAIL + + [Element.getInnerHTML() on <dialog>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <dialog>] + expected: FAIL + + [Element.getInnerHTML() on <div>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <div>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <div>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <div>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <div>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <div>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <div>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <div>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <dl>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <dl>] + expected: FAIL + + [Element.getInnerHTML() on <dt>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <dt>] + expected: FAIL + + [Element.getInnerHTML() on <em>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <em>] + expected: FAIL + + [Element.getInnerHTML() on <embed>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <embed>] + expected: FAIL + + [Element.getInnerHTML() on <fieldset>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <fieldset>] + expected: FAIL + + [Element.getInnerHTML() on <figcaption>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <figcaption>] + expected: FAIL + + [Element.getInnerHTML() on <figure>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <figure>] + expected: FAIL + + [Element.getInnerHTML() on <footer>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <footer>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <footer>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <footer>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <footer>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <footer>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <footer>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <footer>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <form>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <form>] + expected: FAIL + + [Element.getInnerHTML() on <h1>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h1>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h1>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h1>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h1>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h1>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h1>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h1>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h2>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h2>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h2>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h2>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h2>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h2>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h2>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h2>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h3>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h3>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h3>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h3>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h3>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h3>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h3>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h3>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h4>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h4>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h4>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h4>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h4>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h4>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h4>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h4>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h5>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h5>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h5>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h5>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h5>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h5>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h5>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h5>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h6>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h6>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <h6>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <h6>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h6>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h6>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h6>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <h6>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <head>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <head>] + expected: FAIL + + [Element.getInnerHTML() on <header>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <header>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <header>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <header>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <header>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <header>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <header>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <header>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <hr>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <hr>] + expected: FAIL + + [Element.getInnerHTML() on <html>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <html>] + expected: FAIL + + [Element.getInnerHTML() on <i>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <i>] + expected: FAIL + + [Element.getInnerHTML() on <iframe>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <iframe>] + expected: FAIL + + [Element.getInnerHTML() on <img>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <img>] + expected: FAIL + + [Element.getInnerHTML() on <input>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <input>] + expected: FAIL + + [Element.getInnerHTML() on <ins>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <ins>] + expected: FAIL + + [Element.getInnerHTML() on <kbd>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <kbd>] + expected: FAIL + + [Element.getInnerHTML() on <label>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <label>] + expected: FAIL + + [Element.getInnerHTML() on <legend>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <legend>] + expected: FAIL + + [Element.getInnerHTML() on <li>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <li>] + expected: FAIL + + [Element.getInnerHTML() on <link>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <link>] + expected: FAIL + + [Element.getInnerHTML() on <main>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <main>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <main>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <main>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <main>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <main>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <main>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <main>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <map>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <map>] + expected: FAIL + + [Element.getInnerHTML() on <mark>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <mark>] + expected: FAIL + + [Element.getInnerHTML() on <menu>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <menu>] + expected: FAIL + + [Element.getInnerHTML() on <meta>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <meta>] + expected: FAIL + + [Element.getInnerHTML() on <meter>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <meter>] + expected: FAIL + + [Element.getInnerHTML() on <nav>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <nav>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <nav>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <nav>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <nav>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <nav>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <nav>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <nav>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <noscript>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <noscript>] + expected: FAIL + + [Element.getInnerHTML() on <object>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <object>] + expected: FAIL + + [Element.getInnerHTML() on <ol>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <ol>] + expected: FAIL + + [Element.getInnerHTML() on <optgroup>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <optgroup>] + expected: FAIL + + [Element.getInnerHTML() on <option>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <option>] + expected: FAIL + + [Element.getInnerHTML() on <output>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <output>] + expected: FAIL + + [Element.getInnerHTML() on <p>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <p>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <p>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <p>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <p>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <p>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <p>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <p>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <param>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <param>] + expected: FAIL + + [Element.getInnerHTML() on <pre>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <pre>] + expected: FAIL + + [Element.getInnerHTML() on <progress>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <progress>] + expected: FAIL + + [Element.getInnerHTML() on <q>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <q>] + expected: FAIL + + [Element.getInnerHTML() on <rp>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <rp>] + expected: FAIL + + [Element.getInnerHTML() on <rt>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <rt>] + expected: FAIL + + [Element.getInnerHTML() on <ruby>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <ruby>] + expected: FAIL + + [Element.getInnerHTML() on <s>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <s>] + expected: FAIL + + [Element.getInnerHTML() on <samp>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <samp>] + expected: FAIL + + [Element.getInnerHTML() on <script>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <script>] + expected: FAIL + + [Element.getInnerHTML() on <section>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <section>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <section>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <section>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <section>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <section>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <section>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <section>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <select>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <select>] + expected: FAIL + + [Element.getInnerHTML() on <slot>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <slot>] + expected: FAIL + + [Element.getInnerHTML() on <small>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <small>] + expected: FAIL + + [Element.getInnerHTML() on <source>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <source>] + expected: FAIL + + [Element.getInnerHTML() on <span>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <span>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [Element.getInnerHTML() on <span>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <span>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <span>, with mode=open, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <span>, with mode=closed, delegatesFocus=false.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <span>, with mode=open, delegatesFocus=true.] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <span>, with mode=closed, delegatesFocus=true.] + expected: FAIL + + [Element.getInnerHTML() on <strong>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <strong>] + expected: FAIL + + [Element.getInnerHTML() on <style>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <style>] + expected: FAIL + + [Element.getInnerHTML() on <sub>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <sub>] + expected: FAIL + + [Element.getInnerHTML() on <sup>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <sup>] + expected: FAIL + + [Element.getInnerHTML() on <summary>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <summary>] + expected: FAIL + + [Element.getInnerHTML() on <table>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <table>] + expected: FAIL + + [Element.getInnerHTML() on <tbody>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <tbody>] + expected: FAIL + + [Element.getInnerHTML() on <td>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <td>] + expected: FAIL + + [Element.getInnerHTML() on <template>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <template>] + expected: FAIL + + [Element.getInnerHTML() on <textarea>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <textarea>] + expected: FAIL + + [Element.getInnerHTML() on <tfoot>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <tfoot>] + expected: FAIL + + [Element.getInnerHTML() on <th>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <th>] + expected: FAIL + + [Element.getInnerHTML() on <thead>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <thead>] + expected: FAIL + + [Element.getInnerHTML() on <time>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <time>] + expected: FAIL + + [Element.getInnerHTML() on <title>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <title>] + expected: FAIL + + [Element.getInnerHTML() on <tr>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <tr>] + expected: FAIL + + [Element.getInnerHTML() on <track>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <track>] + expected: FAIL + + [Element.getInnerHTML() on <u>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <u>] + expected: FAIL + + [Element.getInnerHTML() on <ul>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <ul>] + expected: FAIL + + [Element.getInnerHTML() on <var>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <var>] + expected: FAIL + + [Element.getInnerHTML() on <video>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <video>] + expected: FAIL + + [Element.getInnerHTML() on <wbr>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <wbr>] + expected: FAIL + + [Element.getInnerHTML() on <htmlunknown>] + expected: FAIL + + [ShadowRoot.getInnerHTML() on <htmlunknown>] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/innerhtml-before-closing-tag.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/innerhtml-before-closing-tag.html.ini new file mode 100644 index 00000000000..196e947e795 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/innerhtml-before-closing-tag.html.ini @@ -0,0 +1,2 @@ +[innerhtml-before-closing-tag.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/innerhtml-on-ordinary-template.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/innerhtml-on-ordinary-template.html.ini new file mode 100644 index 00000000000..2d27d5dcd7c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/innerhtml-on-ordinary-template.html.ini @@ -0,0 +1,2 @@ +[innerhtml-on-ordinary-template.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/move-template-before-closing-tag.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/move-template-before-closing-tag.html.ini new file mode 100644 index 00000000000..76a0e29532d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/move-template-before-closing-tag.html.ini @@ -0,0 +1,6 @@ +[move-template-before-closing-tag.html] + [Moving the template node during parsing should attach to initial parent (content before observer)] + expected: FAIL + + [Moving the template node during parsing should attach to initial parent (content after observer)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/declarative/script-access.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/script-access.html.ini new file mode 100644 index 00000000000..7994a939276 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/declarative/script-access.html.ini @@ -0,0 +1,2 @@ +[script-access.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/directionality-001.tentative.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/directionality-001.tentative.html.ini new file mode 100644 index 00000000000..8929df10f67 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/directionality-001.tentative.html.ini @@ -0,0 +1,2 @@ +[directionality-001.tentative.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/directionality-002.tentative.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/directionality-002.tentative.html.ini new file mode 100644 index 00000000000..6e695e57114 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/directionality-002.tentative.html.ini @@ -0,0 +1,2 @@ +[directionality-002.tentative.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path-after-dom-mutation.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path-after-dom-mutation.html.ini new file mode 100644 index 00000000000..152e4a7f09a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path-after-dom-mutation.html.ini @@ -0,0 +1,6 @@ +[event-composed-path-after-dom-mutation.html] + [Event.composedPath() should return the same result even if DOM is mutated (1/2)] + expected: FAIL + + [Event.composedPath() should return the same result even if DOM is mutated (2/2)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path-with-related-target.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path-with-related-target.html.ini new file mode 100644 index 00000000000..4211ef3acf6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path-with-related-target.html.ini @@ -0,0 +1,33 @@ +[event-composed-path-with-related-target.html] + [Event path for an event with a relatedTarget. Event should stop at the shadow root] + expected: FAIL + + [Event path for an event with a relatedTarget which is identical to target. Event should be dispatched and should stop at the shadow root.] + expected: FAIL + + [Event path for an event with a relatedTarget. target and relaterTarget do not share any shadow-including ancestor. target is in a shadow tree.] + expected: FAIL + + [Event path for an event with a relatedTarget. target and relaterTarget do not share any shadow-including ancestor. target is not in a shadow tree] + expected: FAIL + + [Event path for an event with a relatedTarget. target and relaterTarget share the same shadow-including ancestor. Both are in shadow trees.] + expected: FAIL + + [Event path for an event with a relatedTarget. relatedTarget is a shadow-including ancestor of target.] + expected: FAIL + + [Event path for an event with a relatedTarget. target is a shadow-including ancestor of relatedTarget.] + expected: FAIL + + [Event path for an event with a relatedTarget. target is assigned to a slot.] + expected: FAIL + + [Event path for an event with a relatedTarget. relatedTarget is assigned to a slot.] + expected: FAIL + + [Event path for an event with a relatedTarget. Event should be dispatched at every slots.] + expected: FAIL + + [Event path for an event with a relatedTarget. Event should be dispatched at every slots. relatedTarget should be correctly retargeted.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path.html.ini new file mode 100644 index 00000000000..f55f38269be --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed-path.html.ini @@ -0,0 +1,30 @@ +[event-composed-path.html] + [Event Path with an open ShadowRoot.] + expected: FAIL + + [Event Path with a closed ShadowRoot.] + expected: FAIL + + [Event Path with nested ShadowRoots: open > open.] + expected: FAIL + + [Event Path with nested ShadowRoots: open > closed.] + expected: FAIL + + [Event Path with nested ShadowRoots: closed > open.] + expected: FAIL + + [Event Path with nested ShadowRoots: closed > closed.] + expected: FAIL + + [Event Path with a slot in an open Shadow Root.] + expected: FAIL + + [Event Path with a slot in a closed Shadow Root.] + expected: FAIL + + [Event Path with slots in nested ShadowRoots: open > open.] + expected: FAIL + + [Event Path with slots in nested ShadowRoots: closed > closed.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-composed.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed.html.ini new file mode 100644 index 00000000000..3b55aeb1cb5 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-composed.html.ini @@ -0,0 +1,27 @@ +[event-composed.html] + [A new events composed value should be set to false by default.] + expected: FAIL + + [Users should be able to set a composed value.] + expected: FAIL + + [An event should be scoped by default] + expected: FAIL + + [An event should not be scoped if composed is specified] + expected: FAIL + + [A synthetic MouseEvent should be scoped by default] + expected: FAIL + + [A synthetic MouseEvent with composed=true should not be scoped] + expected: FAIL + + [A synthetic FocusEvent should be scoped by default] + expected: FAIL + + [A synthetic FocusEvent with composed=true should not be scoped] + expected: FAIL + + [A UA click event should not be scoped] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-dispatch-order.tentative.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-dispatch-order.tentative.html.ini new file mode 100644 index 00000000000..576acf2527b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-dispatch-order.tentative.html.ini @@ -0,0 +1,3 @@ +[event-dispatch-order.tentative.html] + [Event dispatch order: capture listerns should be called in capturing phase at a shadow host] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-inside-shadow-tree.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-inside-shadow-tree.html.ini new file mode 100644 index 00000000000..ded94bb1e10 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-inside-shadow-tree.html.ini @@ -0,0 +1,36 @@ +[event-inside-shadow-tree.html] + [Firing an event inside a grand child of a detached open mode shadow tree] + expected: FAIL + + [Firing an event inside a grand child of a detached closed mode shadow tree] + expected: FAIL + + [Firing an event inside a grand child of an in-document open mode shadow tree] + expected: FAIL + + [Firing an event inside a grand child of an in-document closed mode shadow tree] + expected: FAIL + + [Firing an event inside a detached open mode shadow tree inside open mode shadow tree] + expected: FAIL + + [Firing an event inside a detached open mode shadow tree inside closed mode shadow tree] + expected: FAIL + + [Firing an event inside a detached closed mode shadow tree inside open mode shadow tree] + expected: FAIL + + [Firing an event inside a detached closed mode shadow tree inside closed mode shadow tree] + expected: FAIL + + [Firing an event inside an in-document open mode shadow tree inside open mode shadow tree] + expected: FAIL + + [Firing an event inside an in-document open mode shadow tree inside closed mode shadow tree] + expected: FAIL + + [Firing an event inside an in-document closed mode shadow tree inside open mode shadow tree] + expected: FAIL + + [Firing an event inside an in-document closed mode shadow tree inside closed mode shadow tree] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-inside-slotted-node.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-inside-slotted-node.html.ini new file mode 100644 index 00000000000..5186d4b5b5f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-inside-slotted-node.html.ini @@ -0,0 +1,60 @@ +[event-inside-slotted-node.html] + [Firing an event inside a grand child of a detached open mode shadow host] + expected: FAIL + + [Firing an event inside a grand child of a detached closed mode shadow host] + expected: FAIL + + [Firing an event inside a grand child of an in-document open mode shadow host] + expected: FAIL + + [Firing an event inside a grand child of an in-document closed mode shadow host] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached open and open shadow trees with an inner open shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached open and open shadow trees with an inner closed shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached open and closed shadow trees with an inner open shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached open and closed shadow trees with an inner closed shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached closed and open shadow trees with an inner open shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached closed and open shadow trees with an inner closed shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached closed and closed shadow trees with an inner open shadow tree] + expected: FAIL + + [Firing an event on a node with two ancestors with a detached closed and closed shadow trees with an inner closed shadow tree] + expected: FAIL + + [Firing an event on a node within a open shadow tree that is itself a open shadow tree (the latter being the descendent of a host for a separate open shadow tree)] + expected: FAIL + + [Firing an event on a node within a closed shadow tree that is itself a open shadow tree (the latter being the descendent of a host for a separate open shadow tree)] + expected: FAIL + + [Firing an event on a node within a open shadow tree that is itself a closed shadow tree (the latter being the descendent of a host for a separate open shadow tree)] + expected: FAIL + + [Firing an event on a node within a closed shadow tree that is itself a closed shadow tree (the latter being the descendent of a host for a separate open shadow tree)] + expected: FAIL + + [Firing an event on a node within a open shadow tree that is itself a open shadow tree (the latter being the descendent of a host for a separate closed shadow tree)] + expected: FAIL + + [Firing an event on a node within a closed shadow tree that is itself a open shadow tree (the latter being the descendent of a host for a separate closed shadow tree)] + expected: FAIL + + [Firing an event on a node within a open shadow tree that is itself a closed shadow tree (the latter being the descendent of a host for a separate closed shadow tree)] + expected: FAIL + + [Firing an event on a node within a closed shadow tree that is itself a closed shadow tree (the latter being the descendent of a host for a separate closed shadow tree)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-post-dispatch.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-post-dispatch.html.ini new file mode 100644 index 00000000000..98cc39bb533 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-post-dispatch.html.ini @@ -0,0 +1,7 @@ +[event-post-dispatch.html] + expected: ERROR + [Event properties post dispatch without ShadowRoots (composed: true).] + expected: FAIL + + [Event properties post dispatch without ShadowRoots (composed: false).] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/event-with-related-target.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/event-with-related-target.html.ini new file mode 100644 index 00000000000..71e61882548 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/event-with-related-target.html.ini @@ -0,0 +1,54 @@ +[event-with-related-target.html] + [Firing an event at B1a with relatedNode at B1 with open mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at B1 with closed mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at B1b1 with open mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at B1b1 with closed mode shadow trees] + expected: FAIL + + [Firing an event at B1b1 with relatedNode at B1a with open mode shadow trees] + expected: FAIL + + [Firing an event at B1b1 with relatedNode at B1a with closed mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at D1 with open mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at D1 with closed mode shadow trees] + expected: FAIL + + [Firing an event at D1 with relatedNode at B1a with open mode shadow trees] + expected: FAIL + + [Firing an event at D1 with relatedNode at B1a with closed mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at A1a with open mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at A1a with closed mode shadow trees] + expected: FAIL + + [Firing an event at A1a with relatedNode at B1a with open mode shadow trees] + expected: FAIL + + [Firing an event at A1a with relatedNode at B1a with closed mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at A1a (detached) with open mode shadow trees] + expected: FAIL + + [Firing an event at B1a with relatedNode at A1a (detached) with closed mode shadow trees] + expected: FAIL + + [Firing an event at A1a with relatedNode at B1a (detached) with open mode shadow trees] + expected: FAIL + + [Firing an event at A1a with relatedNode at B1a (detached) with closed mode shadow trees] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus-within-shadow.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus-within-shadow.html.ini new file mode 100644 index 00000000000..4c7c65e402d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus-within-shadow.html.ini @@ -0,0 +1,3 @@ +[focus-within-shadow.html] + [Don't clear focus within shadow root if light DOM children are cleared] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/ShadowRoot-delegatesFocus.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/ShadowRoot-delegatesFocus.html.ini new file mode 100644 index 00000000000..d0dc9d86f4e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/ShadowRoot-delegatesFocus.html.ini @@ -0,0 +1,9 @@ +[ShadowRoot-delegatesFocus.html] + [default delegatesFocus value] + expected: FAIL + + [delegatesFocus set to false in init dict] + expected: FAIL + + [delegatesFocus set to true in init dict] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/delegatesFocus-tabindex-change.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/delegatesFocus-tabindex-change.html.ini new file mode 100644 index 00000000000..b083fe74292 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/delegatesFocus-tabindex-change.html.ini @@ -0,0 +1,3 @@ +[delegatesFocus-tabindex-change.html] + [Setting tabindex on the shadow host of a focused element with delegatesFocus should not change focus.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-matches-on-shadow-host.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-matches-on-shadow-host.html.ini new file mode 100644 index 00000000000..98048b42908 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-matches-on-shadow-host.html.ini @@ -0,0 +1,2 @@ +[focus-pseudo-matches-on-shadow-host.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-on-shadow-host-1.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-on-shadow-host-1.html.ini new file mode 100644 index 00000000000..7503362b882 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-on-shadow-host-1.html.ini @@ -0,0 +1,2 @@ +[focus-pseudo-on-shadow-host-1.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-on-shadow-host-2.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-on-shadow-host-2.html.ini new file mode 100644 index 00000000000..808653f1453 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-pseudo-on-shadow-host-2.html.ini @@ -0,0 +1,2 @@ +[focus-pseudo-on-shadow-host-2.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-selector-delegatesFocus.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-selector-delegatesFocus.html.ini new file mode 100644 index 00000000000..8aba9ff8234 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-selector-delegatesFocus.html.ini @@ -0,0 +1,36 @@ +[focus-selector-delegatesFocus.html] + [:focus applies to host with delegatesFocus=true when the shadow root's descendant has focus] + expected: FAIL + + [:focus does not apply to host with delegatesFocus=true when slotted element has focus] + expected: FAIL + + [:focus applies to host with delegatesFocus=true when an element in a nested shadow tree with delegatesFocus=true is focused] + expected: FAIL + + [:focus should be removed from hosts with delegatesFocus=true when none of the elements in a nested shadow tree with delegatesFocus=true is focused] + expected: FAIL + + [:focus applies to host with delegatesFocus=true when an element in a nested shadow tree with delegatesFocus=false is focused] + expected: FAIL + + [:focus should be removed from hosts with delegatesFocus=true when none of the elements in a nested shadow tree with delegatesFocus=false is focused] + expected: FAIL + + [:focus applies to host with delegatesFocus=false when the shadow root's descendant has focus] + expected: FAIL + + [:focus does not apply to host with delegatesFocus=false when slotted element has focus] + expected: FAIL + + [:focus applies to host with delegatesFocus=false when an element in a nested shadow tree with delegatesFocus=true is focused] + expected: FAIL + + [:focus should be removed from hosts with delegatesFocus=false when none of the elements in a nested shadow tree with delegatesFocus=true is focused] + expected: FAIL + + [:focus applies to host with delegatesFocus=false when an element in a nested shadow tree with delegatesFocus=false is focused] + expected: FAIL + + [:focus should be removed from hosts with delegatesFocus=false when none of the elements in a nested shadow tree with delegatesFocus=false is focused] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-shadowhost-display-none.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-shadowhost-display-none.html.ini new file mode 100644 index 00000000000..9a51f588d6f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/focus/focus-shadowhost-display-none.html.ini @@ -0,0 +1,6 @@ +[focus-shadowhost-display-none.html] + [when shadow host itself is focused, it should match display:none, lose focus then becomes display:block again.] + expected: FAIL + + [when shadow host with delegatesFocus=true has focused element inside the shadow, it should also match display:none, then lose focus and become display:block again.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/form-control-form-attribute.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/form-control-form-attribute.html.ini new file mode 100644 index 00000000000..e31dcbafeba --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/form-control-form-attribute.html.ini @@ -0,0 +1,6 @@ +[form-control-form-attribute.html] + [Shadow form control's form attribute should work also in shadow DOM.] + expected: FAIL + + [Form element as form control's ancestor should work also in shadow DOM.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/getElementById-dynamic-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/getElementById-dynamic-001.html.ini new file mode 100644 index 00000000000..40e97cecd7e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/getElementById-dynamic-001.html.ini @@ -0,0 +1,3 @@ +[getElementById-dynamic-001.html] + [ShadowRoot.getElementById keeps working after host has been removed] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/host-with-namespace.xhtml.ini b/tests/wpt/meta-legacy-layout/shadow-dom/host-with-namespace.xhtml.ini new file mode 100644 index 00000000000..25df33a75e0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/host-with-namespace.xhtml.ini @@ -0,0 +1,6 @@ +[host-with-namespace.xhtml] + [attachShadow with a default-namespaced element] + expected: FAIL + + [Test attachShadow with a namespaced element] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-api-slotchange.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-api-slotchange.html.ini new file mode 100644 index 00000000000..afa6e8862b1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-api-slotchange.html.ini @@ -0,0 +1,39 @@ +[imperative-slot-api-slotchange.html] + [slotchange event must not fire synchronously.] + expected: FAIL + + [slotchange event should not fire when assignments do not change assignedNodes.] + expected: FAIL + + [slotchange event should not fire when same node is assigned.] + expected: FAIL + + [Fire slotchange event when slot's assigned nodes changes.] + expected: FAIL + + [Fire slotchange event on previous slot and new slot when node is reassigned.] + expected: FAIL + + [Fire slotchange event on node assignment and when assigned node is removed.] + expected: FAIL + + [Fire slotchange event when order of assigned nodes changes.] + expected: FAIL + + [Fire slotchange event when assigned node is removed.] + expected: FAIL + + [Fire slotchange event when removing a slot from Shadows Root that changes its assigned nodes.] + expected: FAIL + + [No slotchange event when adding or removing an empty slot.] + expected: FAIL + + [No slotchange event when adding another slotable.] + expected: FAIL + + [Fire slotchange event when assign node to nested slot, ensure event bubbles ups.] + expected: FAIL + + [Signal a slot change should be done in tree order.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-api.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-api.html.ini new file mode 100644 index 00000000000..37375c88cc2 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-api.html.ini @@ -0,0 +1,45 @@ +[imperative-slot-api.html] + [attachShadow can take slotAssignment parameter.] + expected: FAIL + + [slot.attach() should take variadic not sequence.] + expected: FAIL + + [Imperative slot API can assign nodes in manual slot assignment.] + expected: FAIL + + [Order of slottables is preserved in manual slot assignment.] + expected: FAIL + + [Previously assigned slottable is moved to new slot when it's reassigned.] + expected: FAIL + + [Order and assignment of nodes are preserved during multiple assignment in a row.] + expected: FAIL + + [Assigning invalid nodes should be allowed.] + expected: FAIL + + [Moving a slot to a new host, the slot loses its previously assigned slottables.] + expected: FAIL + + [Moving a slot's tree order position within a shadow host has no impact on its assigned slottables.] + expected: FAIL + + [Appending slottable to different host, it loses slot assignment. It can be re-assigned within a new host.] + expected: FAIL + + [Previously assigned node should not be assigned if slot moved to a new shadow root. The node is re-assigned when moved back.] + expected: FAIL + + [Assignment with the same node in parameters should be ignored, first one wins.] + expected: FAIL + + [Removing a slot from DOM resets its slottable's slot assignment.] + expected: FAIL + + [Nodes can be assigned even if slots or nodes aren't in the same tree.] + expected: FAIL + + [Removing a node from the document does not break manually assigned slot linkage.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-fallback-clear.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-fallback-clear.html.ini new file mode 100644 index 00000000000..2fec56352db --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-fallback-clear.html.ini @@ -0,0 +1,6 @@ +[imperative-slot-fallback-clear.html] + [Text node fallback should be cleared in a subsequently layout] + expected: FAIL + + [Element fallback should be cleared in a subsequent layout] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-initial-fallback.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-initial-fallback.html.ini new file mode 100644 index 00000000000..24068147e76 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-initial-fallback.html.ini @@ -0,0 +1,6 @@ +[imperative-slot-initial-fallback.html] + [Unassigned imperative slot can render text node as the initial fallback] + expected: FAIL + + [Unassigned imperative slot can render element as the initial fallback] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-layout-invalidation-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-layout-invalidation-001.html.ini new file mode 100644 index 00000000000..42aa5541510 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/imperative-slot-layout-invalidation-001.html.ini @@ -0,0 +1,2 @@ +[imperative-slot-layout-invalidation-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/innerHTML-setter.xhtml.ini b/tests/wpt/meta-legacy-layout/shadow-dom/innerHTML-setter.xhtml.ini new file mode 100644 index 00000000000..0fd47ee26c4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/innerHTML-setter.xhtml.ini @@ -0,0 +1,2 @@ +[innerHTML-setter.xhtml] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/input-element-list.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/input-element-list.html.ini new file mode 100644 index 00000000000..0d2bd7a596b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/input-element-list.html.ini @@ -0,0 +1,3 @@ +[input-element-list.html] + [Input element's list attribute should point to the datalist element in Shadow DOM.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/input-type-radio.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/input-type-radio.html.ini new file mode 100644 index 00000000000..ee5438804e0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/input-type-radio.html.ini @@ -0,0 +1,3 @@ +[input-type-radio.html] + [input type=radio elements should form a group inside shadow DOM.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/get-elements.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/get-elements.html.ini new file mode 100644 index 00000000000..c1e80ac397a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/get-elements.html.ini @@ -0,0 +1,2 @@ +[get-elements.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/html-collection.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/html-collection.html.ini new file mode 100644 index 00000000000..d110a826985 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/html-collection.html.ini @@ -0,0 +1,2 @@ +[html-collection.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/window-frames.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/window-frames.html.ini new file mode 100644 index 00000000000..7b8674eb936 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/leaktests/window-frames.html.ini @@ -0,0 +1,2 @@ +[window-frames.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/offsetParent-across-shadow-boundaries.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/offsetParent-across-shadow-boundaries.html.ini new file mode 100644 index 00000000000..6ec35fbbfa4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/offsetParent-across-shadow-boundaries.html.ini @@ -0,0 +1,48 @@ +[offsetParent-across-shadow-boundaries.html] + [offsetParent must return the offset parent in the same shadow tree of open mode] + expected: FAIL + + [offsetParent must return the offset parent in the same shadow tree of closed mode] + expected: FAIL + + [offsetParent must return the offset parent in the same shadow tree of open mode even when nested] + expected: FAIL + + [offsetParent must return the offset parent in the same shadow tree of closed mode even when nested] + expected: FAIL + + [offsetParent must skip offset parents of an element when the context object is assigned to a slot in a shadow tree of open mode] + expected: FAIL + + [offsetParent must skip offset parents of an element when the context object is assigned to a slot in a shadow tree of closed mode] + expected: FAIL + + [offsetParent must skip multiple offset parents of an element when the context object is assigned to a slot in a shadow tree of open mode] + expected: FAIL + + [offsetParent must skip multiple offset parents of an element when the context object is assigned to a slot in a shadow tree of closed mode] + expected: FAIL + + [offsetParent must skip offset parents of an element when the context object is assigned to a slot in nested shadow trees of open mode] + expected: FAIL + + [offsetParent must skip offset parents of an element when the context object is assigned to a slot in nested shadow trees of closed mode] + expected: FAIL + + [offsetParent must find the first offset parent which is a shadow-including ancestor of the context object even some shadow tree of open mode did not have any offset parent] + expected: FAIL + + [offsetParent must find the first offset parent which is a shadow-including ancestor of the context object even some shadow tree of closed mode did not have any offset parent] + expected: FAIL + + [offsetParent must return null on a child element of a shadow host for the shadow tree in open mode which is not assigned to any slot] + expected: FAIL + + [offsetParent must return null on a child element of a shadow host for the shadow tree in closed mode which is not assigned to any slot] + expected: FAIL + + [offsetParent must return null on a child element of a shadow host for the shadow tree in open mode which is not in the flat tree] + expected: FAIL + + [offsetParent must return null on a child element of a shadow host for the shadow tree in closed mode which is not in the flat tree] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/offsetTop-offsetLeft-across-shadow-boundaries.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/offsetTop-offsetLeft-across-shadow-boundaries.html.ini new file mode 100644 index 00000000000..2dc05fe0bfe --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/offsetTop-offsetLeft-across-shadow-boundaries.html.ini @@ -0,0 +1,9 @@ +[offsetTop-offsetLeft-across-shadow-boundaries.html] + [Verifies that HTMLElement.offsetTop accounts for shadow boundaries.] + expected: FAIL + + [Verifies that HTMLElement.offsetLeft accounts for shadow boundaries.] + expected: FAIL + + [Verifies that HTMLElement.offsetTop accounts for shadow boundaries when nested in multiple shadow roots.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html.ini new file mode 100644 index 00000000000..e7703775d59 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html.ini @@ -0,0 +1,24 @@ +[scroll-to-the-fragment-in-shadow-tree.html] + [The user agent should not scroll to an element with an ID exactly equal to the decoded fragid in an open shadow tree] + expected: FAIL + + [The user agent should not scroll to an element with an ID exactly equal to the decoded fragid in a closed shadow tree] + expected: FAIL + + [The user agent should not scroll to an anchor element with a name attribute exactly equal to the decoded fragid in an open shadow tree] + expected: FAIL + + [The user agent should not scroll to an anchor element with a name attribute exactly equal to the decoded fragid in a closed shadow tree] + expected: FAIL + + [The user agent should scroll to an element with an ID exactly equal to the decoded fragid in the document tree even if there was another element with the same ID inside an open shadow tree earlier in tree order] + expected: FAIL + + [The user agent should scroll to an element with an ID exactly equal to the decoded fragid in the document tree even if there was another element with the same ID inside a closed shadow tree earlier in tree order] + expected: FAIL + + [The user agent should scroll to an anchor element with a name attribute exactly equal to the decoded fragid in the document tree even if there was another element with the same ID inside an open shadow tree earlier in tree order] + expected: FAIL + + [The user agent should scroll to an anchor element with a name attribute exactly equal to the decoded fragid in the document tree even if there was another element with the same ID inside a closed shadow tree earlier in tree order] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/shadow-root-clonable.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/shadow-root-clonable.html.ini new file mode 100644 index 00000000000..b2033ddfece --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/shadow-root-clonable.html.ini @@ -0,0 +1,18 @@ +[shadow-root-clonable.html] + [attachShadow with clonable: true] + expected: FAIL + + [attachShadow with clonable: false] + expected: FAIL + + [attachShadow with clonable: undefined] + expected: FAIL + + [declarative shadow roots do *not* get clonable: true automatically] + expected: FAIL + + [declarative shadow roots can opt in to clonable with shadowrootclonable] + expected: FAIL + + [declarative shadow roots inside templates do *not* get cloned automatically] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/shadow-style-invalidation-vw-units.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/shadow-style-invalidation-vw-units.html.ini new file mode 100644 index 00000000000..d79a6a7d952 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/shadow-style-invalidation-vw-units.html.ini @@ -0,0 +1,2 @@ +[shadow-style-invalidation-vw-units.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-001.html.ini new file mode 100644 index 00000000000..99cfddb8bf3 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-001.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-002.html.ini new file mode 100644 index 00000000000..2ec0637e458 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-002.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-003.html.ini new file mode 100644 index 00000000000..6bcd7a3f667 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-003.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-003.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-004.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-004.html.ini new file mode 100644 index 00000000000..c333328c8e7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-004.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-004.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-005.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-005.html.ini new file mode 100644 index 00000000000..f3a768eb490 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-005.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-005.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-006.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-006.html.ini new file mode 100644 index 00000000000..8f8567c99f8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-006.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-006.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-007.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-007.html.ini new file mode 100644 index 00000000000..f25986dbaff --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-007.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-007.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-008.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-008.html.ini new file mode 100644 index 00000000000..aaa3b56bdce --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slot-fallback-content-008.html.ini @@ -0,0 +1,2 @@ +[slot-fallback-content-008.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slotchange-customelements.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slotchange-customelements.html.ini new file mode 100644 index 00000000000..501acdec58b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slotchange-customelements.html.ini @@ -0,0 +1,2 @@ +[slotchange-customelements.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slotchange-event.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slotchange-event.html.ini new file mode 100644 index 00000000000..5382cd7110e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slotchange-event.html.ini @@ -0,0 +1,96 @@ +[slotchange-event.html] + [slotchange event must fire on a default slot element inside an open shadow root in a document] + expected: FAIL + + [slotchange event must fire on a default slot element inside a closed shadow root in a document] + expected: FAIL + + [slotchange event must fire on a default slot element inside an open shadow root not in a document] + expected: FAIL + + [slotchange event must fire on a default slot element inside a closed shadow root not in a document] + expected: FAIL + + [slotchange event must fire on a named slot element insidean open shadow root in a document] + expected: FAIL + + [slotchange event must fire on a named slot element insidea closed shadow root in a document] + expected: FAIL + + [slotchange event must fire on a named slot element insidean open shadow root not in a document] + expected: FAIL + + [slotchange event must fire on a named slot element insidea closed shadow root not in a document] + expected: FAIL + + [slotchange event must not fire on a slot element inside an open shadow root in a document when another slot's assigned nodes change] + expected: FAIL + + [slotchange event must not fire on a slot element inside a closed shadow root in a document when another slot's assigned nodes change] + expected: FAIL + + [slotchange event must not fire on a slot element inside an open shadow root not in a document when another slot's assigned nodes change] + expected: FAIL + + [slotchange event must not fire on a slot element inside a closed shadow root not in a document when another slot's assigned nodes change] + expected: FAIL + + [slotchange event must fire on a slot element when a shadow host has a slottable and the slot was inserted and must not fire when the shadow host was mutated after the slot was removed inside an open shadow root in a document] + expected: FAIL + + [slotchange event must fire on a slot element when a shadow host has a slottable and the slot was inserted and must not fire when the shadow host was mutated after the slot was removed inside a closed shadow root in a document] + expected: FAIL + + [slotchange event must fire on a slot element when a shadow host has a slottable and the slot was inserted and must not fire when the shadow host was mutated after the slot was removed inside an open shadow root not in a document] + expected: FAIL + + [slotchange event must fire on a slot element when a shadow host has a slottable and the slot was inserted and must not fire when the shadow host was mutated after the slot was removed inside a closed shadow root not in a document] + expected: FAIL + + [slotchange event must fire on a slot element inside an open shadow root in a document even if the slot was removed immediately after the assigned nodes were mutated] + expected: FAIL + + [slotchange event must fire on a slot element inside a closed shadow root in a document even if the slot was removed immediately after the assigned nodes were mutated] + expected: FAIL + + [slotchange event must fire on a slot element inside an open shadow root not in a document even if the slot was removed immediately after the assigned nodes were mutated] + expected: FAIL + + [slotchange event must fire on a slot element inside a closed shadow root not in a document even if the slot was removed immediately after the assigned nodes were mutated] + expected: FAIL + + [slotchange event must fire on a slot element inside an open shadow root in a document when innerHTML modifies the children of the shadow host] + expected: FAIL + + [slotchange event must fire on a slot element inside a closed shadow root in a document when innerHTML modifies the children of the shadow host] + expected: FAIL + + [slotchange event must fire on a slot element inside an open shadow root not in a document when innerHTML modifies the children of the shadow host] + expected: FAIL + + [slotchange event must fire on a slot element inside a closed shadow root not in a document when innerHTML modifies the children of the shadow host] + expected: FAIL + + [slotchange event must fire on a slot element inside an open shadow root in a document when nested slots's contents change] + expected: FAIL + + [slotchange event must fire on a slot element inside a closed shadow root in a document when nested slots's contents change] + expected: FAIL + + [slotchange event must fire on a slot element inside an open shadow root not in a document when nested slots's contents change] + expected: FAIL + + [slotchange event must fire on a slot element inside a closed shadow root not in a document when nested slots's contents change] + expected: FAIL + + [slotchange event must fire at the end of current microtask after mutation observers are invoked inside an open shadow root in a document when slots's contents change] + expected: FAIL + + [slotchange event must fire at the end of current microtask after mutation observers are invoked inside a closed shadow root in a document when slots's contents change] + expected: FAIL + + [slotchange event must fire at the end of current microtask after mutation observers are invoked inside an open shadow root not in a document when slots's contents change] + expected: FAIL + + [slotchange event must fire at the end of current microtask after mutation observers are invoked inside a closed shadow root not in a document when slots's contents change] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slotchange.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slotchange.html.ini new file mode 100644 index 00000000000..517a5600850 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slotchange.html.ini @@ -0,0 +1,48 @@ +[slotchange.html] + [slotchange event: Append a child to a host.] + expected: FAIL + + [slotchange event: Remove a child from a host.] + expected: FAIL + + [slotchange event: Remove a child before adding an event listener.] + expected: FAIL + + [slotchange event: Change slot= attribute to make it un-assigned.] + expected: FAIL + + [slotchange event: Change slot's name= attribute so that none is assigned.] + expected: FAIL + + [slotchange event: Change slot= attribute to make it assigned.] + expected: FAIL + + [slotchange event: Change slot's name= attribute so that a node is assigned to the slot.] + expected: FAIL + + [slotchange event: Change fallback content - assignedNodes still empty.] + expected: FAIL + + [slotchange event: Remove a fallback content - assignedNodes still empty.] + expected: FAIL + + [slotchange event: Add a fallback content to nested slots - assignedNodes still empty.] + expected: FAIL + + [slotchange event: Remove a fallback content from nested slots - assignedNodes still empty.] + expected: FAIL + + [slotchange event: Insert a slot before an existing slot.] + expected: FAIL + + [slotchange event: Remove a preceding slot.] + expected: FAIL + + [slotchange event: A slot is assigned to another slot.] + expected: FAIL + + [slotchange event: Slotchange should be fired if assigned nodes are changed.] + expected: FAIL + + [slotchange event: Child content is added to nested slots.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slots-fallback-in-document.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slots-fallback-in-document.html.ini new file mode 100644 index 00000000000..3a4120b04b4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slots-fallback-in-document.html.ini @@ -0,0 +1,2 @@ +[slots-fallback-in-document.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slots-fallback.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slots-fallback.html.ini new file mode 100644 index 00000000000..2e7c99956cc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slots-fallback.html.ini @@ -0,0 +1,39 @@ +[slots-fallback.html] + [Slots fallback: Basic.] + expected: FAIL + + [Slots fallback: Basic, elements only.] + expected: FAIL + + [Slots fallback: Slots in Slots.] + expected: FAIL + + [Slots fallback: Slots in Slots, elements only.] + expected: FAIL + + [Slots fallback: Fallback contents should not be used if a node is assigned.] + expected: FAIL + + [Slots fallback: Slots in Slots: Assigned nodes should be used as fallback contents of another slot] + expected: FAIL + + [Slots fallback: Complex case.] + expected: FAIL + + [Slots fallback: Complex case, elements only.] + expected: FAIL + + [Slots fallback: Mutation. Append fallback contents.] + expected: FAIL + + [Slots fallback: Mutation. Remove fallback contents.] + expected: FAIL + + [Slots fallback: Mutation. Assign a node to a slot so that fallback contens are no longer used.] + expected: FAIL + + [Slots fallback: Mutation. Remove an assigned node from a slot so that fallback contens will be used.] + expected: FAIL + + [Slots fallback: Mutation. Remove a slot which is a fallback content of another slot.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slots-outside-shadow-dom.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slots-outside-shadow-dom.html.ini new file mode 100644 index 00000000000..d9a5833db83 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slots-outside-shadow-dom.html.ini @@ -0,0 +1,3 @@ +[slots-outside-shadow-dom.html] + [Light DOM slot element should be in flattened assignedNodes] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/slots.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/slots.html.ini new file mode 100644 index 00000000000..aeb985ce493 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/slots.html.ini @@ -0,0 +1,78 @@ +[slots.html] + [Slots: Basic.] + expected: FAIL + + [Slots: Basic, elements only.] + expected: FAIL + + [Slots: Slots in closed.] + expected: FAIL + + [Slots: Slots in closed, elements only.] + expected: FAIL + + [Slots: Slots not in a shadow tree.] + expected: FAIL + + [Slots: Slots not in a shadow tree, elements only.] + expected: FAIL + + [Slots: Distributed nodes for Slots not in a shadow tree.] + expected: FAIL + + [Slots: Name matching] + expected: FAIL + + [Slots: No direct host child.] + expected: FAIL + + [Slots: Default Slot.] + expected: FAIL + + [Slots: Slot in Slot does not matter in assignment.] + expected: FAIL + + [Slots: Slot is assigned to another slot] + expected: FAIL + + [Slots: Open > Closed.] + expected: FAIL + + [Slots: Closed > Closed.] + expected: FAIL + + [Slots: Closed > Open.] + expected: FAIL + + [Slots: Complex case: Basi line.] + expected: FAIL + + [Slots: Mutation: appendChild.] + expected: FAIL + + [Slots: Mutation: Change slot= attribute 1.] + expected: FAIL + + [Slots: Mutation: Change slot= attribute 2.] + expected: FAIL + + [Slots: Mutation: Change slot= attribute 3.] + expected: FAIL + + [Slots: Mutation: Remove a child.] + expected: FAIL + + [Slots: Mutation: Add a slot: after.] + expected: FAIL + + [Slots: Mutation: Add a slot: before.] + expected: FAIL + + [Slots: Mutation: Remove a slot.] + expected: FAIL + + [Slots: Mutation: Change slot name= attribute.] + expected: FAIL + + [Slots: Mutation: Change slot slot= attribute.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html.ini new file mode 100644 index 00000000000..8e344641d4c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html.ini @@ -0,0 +1,3 @@ +[test-001.html] + [A_10_02_02_01_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html.ini new file mode 100644 index 00000000000..410d47668ae --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html.ini @@ -0,0 +1,3 @@ +[test-002.html] + [A_10_02_02_02_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html.ini new file mode 100644 index 00000000000..b7bad6da967 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html.ini @@ -0,0 +1,9 @@ +[activeElement-confirm-return-null.html] + [confirm activeElement return null] + expected: FAIL + + [confirm activeElement return null when there is other element in body] + expected: FAIL + + [confirm activeElement return null when focus on the element in the outer shadow tree] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html.ini new file mode 100644 index 00000000000..58ff678ed90 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html.ini @@ -0,0 +1,3 @@ +[test-007.html] + [A_10_01_01_03_01_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html.ini new file mode 100644 index 00000000000..057925a0bf9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html.ini @@ -0,0 +1,3 @@ +[test-009.html] + [A_10_01_01_04_01_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html.ini new file mode 100644 index 00000000000..893b08f46cd --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html.ini @@ -0,0 +1,6 @@ +[test-010.html] + [A_10_01_01_04_02_T01_01] + expected: FAIL + + [A_10_01_01_04_02_T01_02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html.ini new file mode 100644 index 00000000000..0ab0818a572 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html.ini @@ -0,0 +1,6 @@ +[test-011.html] + [A_10_01_01_05_01_T01] + expected: FAIL + + [A_10_01_01_05_01_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html.ini new file mode 100644 index 00000000000..c39dd1e8d30 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html.ini @@ -0,0 +1,3 @@ +[test-012.html] + [A_10_01_01_06_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html.ini new file mode 100644 index 00000000000..c88e958be72 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html.ini @@ -0,0 +1,3 @@ +[test-013.html] + [A_10_01_01_07_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html.ini new file mode 100644 index 00000000000..6cee119bd0a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html.ini @@ -0,0 +1,6 @@ +[test-001.html] + [A_10_01_02_01_T01] + expected: FAIL + + [A_10_01_02_01_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html.ini new file mode 100644 index 00000000000..b24d4d99677 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html.ini @@ -0,0 +1,3 @@ +[test-004.html] + [A_10_01_02_04_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html.ini new file mode 100644 index 00000000000..065ff988ca4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html.ini @@ -0,0 +1,3 @@ +[test-006.html] + [A_10_01_02_06_01_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html.ini new file mode 100644 index 00000000000..c83f1616f20 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html.ini @@ -0,0 +1,6 @@ +[test-007.html] + [A_10_01_02_06_02_T01] + expected: FAIL + + [A_10_01_02_06_02_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html.ini new file mode 100644 index 00000000000..b36a91d4af1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html.ini @@ -0,0 +1,3 @@ +[test-010.html] + [A_10_01_02_09_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-dispatch/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-dispatch/test-002.html.ini new file mode 100644 index 00000000000..65105356079 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-dispatch/test-002.html.ini @@ -0,0 +1,3 @@ +[test-002.html] + [A_05_05_02_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-dispatch/test-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-dispatch/test-003.html.ini new file mode 100644 index 00000000000..41599f80d4c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-dispatch/test-003.html.ini @@ -0,0 +1,3 @@ +[test-003.html] + [A_05_05_03_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-retargeting/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-retargeting/test-001.html.ini new file mode 100644 index 00000000000..5edb9a7136a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-retargeting/test-001.html.ini @@ -0,0 +1,6 @@ +[test-001.html] + [A_05_01_01_T1] + expected: FAIL + + [A_05_01_01_T2] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-retargeting/test-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-retargeting/test-003.html.ini new file mode 100644 index 00000000000..4f09a0d900a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/event-retargeting/test-003.html.ini @@ -0,0 +1,3 @@ +[test-003.html] + [A_05_01_03_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html.ini new file mode 100644 index 00000000000..08efc7c7f70 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html.ini @@ -0,0 +1,18 @@ +[test-001.html] + [A_05_03_01_T01] + expected: FAIL + + [A_05_03_01_T02] + expected: FAIL + + [A_05_03_01_T03] + expected: FAIL + + [A_05_03_01_T04] + expected: FAIL + + [A_05_03_01_T05] + expected: FAIL + + [A_05_03_01_T06] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html.ini new file mode 100644 index 00000000000..806ccde1f64 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html.ini @@ -0,0 +1,3 @@ +[test-002.html] + [A_05_03_02_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html.ini new file mode 100644 index 00000000000..f7156356396 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html.ini @@ -0,0 +1,3 @@ +[test-003.html] + [A_05_03_03_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html.ini new file mode 100644 index 00000000000..c917a1c0b37 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html.ini @@ -0,0 +1,3 @@ +[test-001.html] + [A_05_02_01_T1] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html.ini new file mode 100644 index 00000000000..7a22e823590 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html.ini @@ -0,0 +1,3 @@ +[test-002.html] + [A_05_02_02_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html.ini new file mode 100644 index 00000000000..c793e66568f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html.ini @@ -0,0 +1,3 @@ +[test-003.html] + [A_05_02_03_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/test-001.html.ini new file mode 100644 index 00000000000..e2cad98080a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/events/test-001.html.ini @@ -0,0 +1,3 @@ +[test-001.html] + [A_05_00_01_T1] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html.ini new file mode 100644 index 00000000000..4b5951fa0cd --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html.ini @@ -0,0 +1,6 @@ +[test-001.html] + [A_08_02_01_T01] + expected: FAIL + + [A_08_02_01_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html.ini new file mode 100644 index 00000000000..a08175ccedc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html.ini @@ -0,0 +1,9 @@ +[test-002.html] + [A_08_02_02_T01] + expected: FAIL + + [A_08_02_02_T02] + expected: FAIL + + [A_08_02_02_T03] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html.ini new file mode 100644 index 00000000000..a27d41bf2f0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html.ini @@ -0,0 +1,3 @@ +[test-003.html] + [A_08_02_03_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html.ini new file mode 100644 index 00000000000..eb109c459c9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html.ini @@ -0,0 +1,3 @@ +[test-001.html] + [A_08_01_01_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html.ini new file mode 100644 index 00000000000..4427f845f90 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html.ini @@ -0,0 +1,3 @@ +[test-002.html] + [A_08_01_02_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html.ini new file mode 100644 index 00000000000..b6681ba0e7d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html.ini @@ -0,0 +1,2 @@ +[nested_tree_reftest.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html.ini new file mode 100644 index 00000000000..e229960af83 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html.ini @@ -0,0 +1,2 @@ +[reprojection-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/shadow-root-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/shadow-root-001.html.ini new file mode 100644 index 00000000000..9fe59c6ff27 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/shadow-root-001.html.ini @@ -0,0 +1,2 @@ +[shadow-root-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/shadow-root-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/shadow-root-002.html.ini new file mode 100644 index 00000000000..07a6ef6989e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/shadow-root-002.html.ini @@ -0,0 +1,2 @@ +[shadow-root-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html.ini new file mode 100644 index 00000000000..0461a53e7e3 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html.ini @@ -0,0 +1,42 @@ +[dom-tree-accessors-001.html] + [<head> and <body> in a shadow tree should not be accessible from owner document's "head" and "body" properties, respectively.] + expected: FAIL + + [The content of title element in a shadow tree should not be accessible from owner document's "title" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "images" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "embeds" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "plugins" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "links" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "forms" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "scripts" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's getElementsByName() method.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "anchors" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's "all" attribute.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's getElementsByTagName() method.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's getElementsByTagNameNS() method.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's getElementById() method.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html.ini new file mode 100644 index 00000000000..c3f69bb5adc --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html.ini @@ -0,0 +1,9 @@ +[dom-tree-accessors-002.html] + [Elements in a shadow tree should be accessible via shadow root's querySelectorAll() DOM tree accessor.] + expected: FAIL + + [Elements with a specific class in a shadow tree should be accessible viashadow root's querySelectorAll() DOM tree accessor.] + expected: FAIL + + [Elements in a shadow tree should be accessible via shadow root's getElementById() DOM tree accessor.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html.ini new file mode 100644 index 00000000000..4b9fef4e5ee --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html.ini @@ -0,0 +1,18 @@ +[ownerdocument-001.html] + [ownerDocument property of a shadow root should be the document of the shadow host, regardless of the location of the shadow host.] + expected: FAIL + + [ownerDocument property of elements in a shadow tree should match the document of the shadow host, regardless of the element's location in a shadow tree.] + expected: FAIL + + [Elements added to a shadow tree should automatically get a valid ownerDocument.] + expected: FAIL + + [ownerDocument property of an element in a shadow tree should be the document of the shadow host, even if the host element is created from another document.] + expected: FAIL + + [All children nodes of a shadow root get a valid ownerDocument when added to a shadow tree.] + expected: FAIL + + [ownerDocument property of a node should remain the same, even if its child is adopted into a shadow tree.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html.ini new file mode 100644 index 00000000000..29b97badcf7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html.ini @@ -0,0 +1,54 @@ +[ownerdocument-002.html] + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "article" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "aside" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "blockquote" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "body" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "div" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "footer" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "h1" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "h2" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "h3" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "h4" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "h5" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "h6" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "header" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "main" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "nav" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "p" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "section" element.] + expected: FAIL + + [ownerDocument property of any elements in a shadow tree should match the document of the shadow host, when the host is a "span" element.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html.ini new file mode 100644 index 00000000000..b8dd91e20ff --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html.ini @@ -0,0 +1,6 @@ +[selectors-api-001.html] + [Elements in a shadow tree should not be accessible from owner document's querySelector() method.] + expected: FAIL + + [Elements in a shadow tree should not be accessible from owner document's querySelectorAll() method.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html.ini new file mode 100644 index 00000000000..08c3216c8f4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html.ini @@ -0,0 +1,6 @@ +[selectors-api-002.html] + [Elements in a shadow tree should be accessible from shadow root's querySelector() method.] + expected: FAIL + + [Elements in a shadow tree should be accessible from shadow root's querySelectorAll() method.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html.ini new file mode 100644 index 00000000000..c9f51569293 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html.ini @@ -0,0 +1,12 @@ +[shadow-root-001.html] + [The parentNode attribute of a shadow root must always return null.] + expected: FAIL + + [The parentElement attribute of a shadow root must always return null.] + expected: FAIL + + [The parentNode attribute of a shadow root must always return null, even if the shadow root is nested inside another shadow root.] + expected: FAIL + + [The parentElement attribute of a shadow root must always return null, even if the shadow root is nested inside another shadow root.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html.ini new file mode 100644 index 00000000000..26ce9a3871c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html.ini @@ -0,0 +1,6 @@ +[test-005.html] + [A_04_01_05_T01] + expected: FAIL + + [A_04_01_05_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html.ini new file mode 100644 index 00000000000..5ff7cea6888 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html.ini @@ -0,0 +1,6 @@ +[test-007.html] + [A_04_01_07_T01] + expected: FAIL + + [A_04_01_07_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html.ini new file mode 100644 index 00000000000..02d7c3f0371 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html.ini @@ -0,0 +1,42 @@ +[test-009.html] + [A_04_01_09_T01] + expected: FAIL + + [A_04_01_09_T03] + expected: FAIL + + [A_04_01_09_T05] + expected: FAIL + + [A_04_01_09_T06] + expected: FAIL + + [A_04_01_09_T07] + expected: FAIL + + [A_04_01_09_T08] + expected: FAIL + + [A_04_01_09_T09] + expected: FAIL + + [A_04_01_09_T10] + expected: FAIL + + [A_04_01_09_T11] + expected: FAIL + + [A_04_01_09_T12] + expected: FAIL + + [A_04_01_09_T13] + expected: FAIL + + [A_04_01_09_T14] + expected: FAIL + + [A_04_01_09_T15] + expected: FAIL + + [A_04_01_09_T16] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html.ini new file mode 100644 index 00000000000..b4b05a4d15a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html.ini @@ -0,0 +1,3 @@ +[test-011.html] + [A_04_01_11_T2] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html.ini new file mode 100644 index 00000000000..b396982b8c7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html.ini @@ -0,0 +1,3 @@ +[window-named-properties-001.html] + [An iframe element in a shadow tree should not be accessible from window's named properties with its "name" attribute value.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html.ini new file mode 100644 index 00000000000..2a8ef27a810 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html.ini @@ -0,0 +1,24 @@ +[window-named-properties-002.html] + ["a" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["applet" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["area" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["embed" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["form" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["frameset" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["img" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["object" element with name attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html.ini new file mode 100644 index 00000000000..4ff2b0dc2b1 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html.ini @@ -0,0 +1,330 @@ +[window-named-properties-003.html] + ["a" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["abbr" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["address" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["area" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["article" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["aside" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["audio" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["b" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["base" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["bdi" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["bdo" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["blockquote" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["body" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["br" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["button" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["canvas" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["caption" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["cite" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["code" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["col" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["colgroup" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["data" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["datalist" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["dd" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["del" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["details" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["dfn" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["dialog" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["div" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["dl" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["dt" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["em" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["embed" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["fieldset" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["figcaption" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["figure" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["footer" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["form" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["h1" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["h2" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["h3" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["h4" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["h5" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["h6" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["head" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["header" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["hr" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["html" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["i" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["iframe" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["img" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["input" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["ins" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["kbd" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["label" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["legend" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["li" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["link" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["main" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["map" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["mark" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["menu" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["meta" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["meter" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["nav" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["noscript" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["object" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["ol" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["optgroup" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["option" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["output" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["p" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["param" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["pre" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["progress" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["q" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["rp" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["rt" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["ruby" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["s" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["samp" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["script" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["section" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["select" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["slot" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["small" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["source" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["span" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["strong" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["style" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["sub" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["sup" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["summary" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["table" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["tbody" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["td" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["template" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["textarea" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["tfoot" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["th" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["thead" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["time" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["title" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["tr" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["track" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["u" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["ul" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["var" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["video" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL + + ["wbr" element with id attribute in a shadow tree should not be accessible from window object's named property.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-001.html.ini new file mode 100644 index 00000000000..010d6cf6e7b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-001.html.ini @@ -0,0 +1,6 @@ +[test-001.html] + [A_06_00_01_T01] + expected: FAIL + + [A_06_00_01_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-003.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-003.html.ini new file mode 100644 index 00000000000..02570c24429 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-003.html.ini @@ -0,0 +1,9 @@ +[test-003.html] + [A_06_00_03_T01] + expected: FAIL + + [A_06_00_03_T02] + expected: FAIL + + [A_06_00_03_T03] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-005.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-005.html.ini new file mode 100644 index 00000000000..9db9c42fbfd --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-005.html.ini @@ -0,0 +1,3 @@ +[test-005.html] + [A_06_00_06_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-008.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-008.html.ini new file mode 100644 index 00000000000..d758520ec6c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/styles/test-008.html.ini @@ -0,0 +1,3 @@ +[test-008.html] + [A_06_00_09_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/active-element/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/active-element/test-001.html.ini new file mode 100644 index 00000000000..88b1f2d95d0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/active-element/test-001.html.ini @@ -0,0 +1,3 @@ +[test-001.html] + [A_07_03_01_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/active-element/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/active-element/test-002.html.ini new file mode 100644 index 00000000000..2afc1ba2bea --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/active-element/test-002.html.ini @@ -0,0 +1,3 @@ +[test-002.html] + [A_07_03_02_T01] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html.ini new file mode 100644 index 00000000000..a8f9103ccfb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html.ini @@ -0,0 +1,9 @@ +[inheritance-of-content-editable-001.html] + [contentEditable of shadow trees must be undefined when contentEditable attribute of shadow host is "true"] + expected: FAIL + + [contentEditable of shadow trees must be undefined when contentEditable of shadow host is "false"] + expected: FAIL + + [contentEditable of shadow trees must be undefined when contentEditable attribute of shadow host is "inherit"] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html.ini new file mode 100644 index 00000000000..bcdbf8a8eb8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html.ini @@ -0,0 +1,6 @@ +[test-001.html] + [A_07_07_01_T01] + expected: FAIL + + [A_07_07_01_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html.ini b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html.ini new file mode 100644 index 00000000000..94e6a0f404a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html.ini @@ -0,0 +1,6 @@ +[test-002.html] + [A_07_01_02_T01] + expected: FAIL + + [A_07_07_02_T02] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/async-iterator.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/async-iterator.any.js.ini index deaa654bfdd..618099e020e 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/async-iterator.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/async-iterator.any.js.ini @@ -285,4 +285,4 @@ [async-iterator.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-strategies.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-strategies.any.js.ini index 1732bb15bd1..0b18fb6f649 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-strategies.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-strategies.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [bad-strategies.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-underlying-sources.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-underlying-sources.any.js.ini index f31c84d09d4..bbe50f020da 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-underlying-sources.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/bad-underlying-sources.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [bad-underlying-sources.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/cancel.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/cancel.any.js.ini index af45c8a38e4..080947483eb 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/cancel.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/cancel.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [cancel.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/constructor.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/constructor.any.js.ini index cc81203f7c8..2b35f7eae17 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/constructor.any.js.ini @@ -9,4 +9,4 @@ [constructor.any.worker.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/count-queuing-strategy-integration.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/count-queuing-strategy-integration.any.js.ini index eb20e449cd0..33559719706 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/count-queuing-strategy-integration.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/count-queuing-strategy-integration.any.js.ini @@ -9,4 +9,4 @@ [count-queuing-strategy-integration.any.html] [count-queuing-strategy-integration.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/default-reader.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/default-reader.any.js.ini index ab392a349cb..6ab35c4593a 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/default-reader.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/default-reader.any.js.ini @@ -57,4 +57,4 @@ [default-reader.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/floating-point-total-queue-size.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/floating-point-total-queue-size.any.js.ini index dae0fdd0262..6ee59ae447d 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/floating-point-total-queue-size.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/floating-point-total-queue-size.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [floating-point-total-queue-size.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/from.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/from.any.js.ini index 7594fc96cd0..e007c554610 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/from.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/from.any.js.ini @@ -177,4 +177,4 @@ expected: ERROR [from.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/garbage-collection.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/garbage-collection.any.js.ini index 6cd386dbebe..747a9463cdb 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/garbage-collection.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/garbage-collection.any.js.ini @@ -9,4 +9,4 @@ [garbage-collection.any.worker.html] [garbage-collection.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/general.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/general.any.js.ini index d27d2c82aef..4f3eb7cc84c 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/general.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/general.any.js.ini @@ -27,4 +27,4 @@ [general.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type-message-port.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type-message-port.any.js.ini index 8ee58658c18..d6f71389902 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type-message-port.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type-message-port.any.js.ini @@ -21,4 +21,4 @@ expected: ERROR [owning-type-message-port.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type.any.js.ini index cb5efe13bc1..8a77a5c8900 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/owning-type.any.js.ini @@ -39,4 +39,4 @@ expected: ERROR [owning-type.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/patched-global.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/patched-global.any.js.ini index 8c978155473..e19ee0b73a4 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/patched-global.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/patched-global.any.js.ini @@ -27,4 +27,4 @@ [patched-global.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/reentrant-strategies.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/reentrant-strategies.any.js.ini index d488009db00..3e0f33fb6a8 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/reentrant-strategies.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/reentrant-strategies.any.js.ini @@ -15,4 +15,4 @@ expected: ERROR [reentrant-strategies.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/tee.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/tee.any.js.ini index 983ead19dbe..1d168be6725 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/tee.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/tee.any.js.ini @@ -9,4 +9,4 @@ [tee.any.html] [tee.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/streams/readable-streams/templated.any.js.ini b/tests/wpt/meta-legacy-layout/streams/readable-streams/templated.any.js.ini index 408f849f24c..080908c35c2 100644 --- a/tests/wpt/meta-legacy-layout/streams/readable-streams/templated.any.js.ini +++ b/tests/wpt/meta-legacy-layout/streams/readable-streams/templated.any.js.ini @@ -21,4 +21,4 @@ [templated.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/compile.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/compile.any.js.ini index dfc9bd50cad..ea38905ff80 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/compile.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/compile.any.js.ini @@ -1,5 +1,5 @@ [compile.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [compile.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini index 7b0e06ea84f..0a8ebe75de3 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini @@ -1,5 +1,5 @@ [instantiate-bad-imports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [instantiate-bad-imports.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate.any.js.ini index a122a8f4657..2a4d2e68ebb 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/instantiate.any.js.ini @@ -21,4 +21,4 @@ [instantiate.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/multi-value.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/multi-value.any.js.ini index 3e994a5e148..974e0e828a6 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/multi-value.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/multi-value.any.js.ini @@ -1,5 +1,5 @@ [multi-value.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [multi-value.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/toStringTag.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/toStringTag.any.js.ini index 204eefd2fe0..8c7d36d5e56 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/toStringTag.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/toStringTag.any.js.ini @@ -1,5 +1,5 @@ [toStringTag.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toStringTag.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/validate.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/validate.any.js.ini index aa554ba5483..dd0296febf6 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/validate.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/constructor/validate.any.js.ini @@ -1,6 +1,6 @@ [validate.any.worker.html] [validate.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [validate.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/basic.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/basic.tentative.any.js.ini index 863e5544783..bea5773d248 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/basic.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/basic.tentative.any.js.ini @@ -9,4 +9,4 @@ [basic.tentative.any.html] [basic.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/constructor.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/constructor.tentative.any.js.ini index 2dde72fcbbc..5684228cc51 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/constructor.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/constructor.tentative.any.js.ini @@ -1,5 +1,5 @@ [constructor.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor.tentative.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/getArg.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/getArg.tentative.any.js.ini index 6c03a9843e1..901a4ac5dee 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/getArg.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/getArg.tentative.any.js.ini @@ -9,4 +9,4 @@ [getArg.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/identity.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/identity.tentative.any.js.ini index 1d217f68c2c..8d4cb115837 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/identity.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/identity.tentative.any.js.ini @@ -3,4 +3,4 @@ [identity.tentative.any.html] [identity.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/is.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/is.tentative.any.js.ini index 0384adc9fef..2c91c1712e9 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/is.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/is.tentative.any.js.ini @@ -1,5 +1,5 @@ [is.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [is.tentative.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/toString.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/toString.tentative.any.js.ini index 0bb6e8890ef..9f25b08bc4d 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/toString.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/exception/toString.tentative.any.js.ini @@ -1,5 +1,5 @@ [toString.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.tentative.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/call.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/call.tentative.any.js.ini index ea034f8d563..bb42c37b015 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/call.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/call.tentative.any.js.ini @@ -15,4 +15,4 @@ [call.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/constructor.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/constructor.tentative.any.js.ini index 071bcb1cf47..6d747117d03 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/constructor.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/constructor.tentative.any.js.ini @@ -69,4 +69,4 @@ [constructor.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/table.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/table.tentative.any.js.ini index a5ce570abce..f9d653ef3d1 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/table.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/table.tentative.any.js.ini @@ -9,4 +9,4 @@ [table.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/type.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/type.tentative.any.js.ini index cb4fa7b3d0d..e2d293bf2a7 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/function/type.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/function/type.tentative.any.js.ini @@ -15,4 +15,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/constructor.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/constructor.any.js.ini index ec1e0569cac..ab2c91d554d 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/constructor.any.js.ini @@ -3,4 +3,4 @@ [constructor.any.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/toString.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/toString.any.js.ini index 4d7e7394aa7..6521b43af53 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/toString.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/toString.any.js.ini @@ -1,6 +1,6 @@ [toString.any.worker.html] [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/type.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/type.tentative.any.js.ini index 93469a74697..448b6817514 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/type.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/type.tentative.any.js.ini @@ -105,4 +105,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/value-get-set.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/value-get-set.any.js.ini index 4ad74f700c3..dc5862fd4ad 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/value-get-set.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/value-get-set.any.js.ini @@ -3,4 +3,4 @@ [value-get-set.any.worker.html] [value-get-set.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/valueOf.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/valueOf.any.js.ini index 16e938b438e..0764f9ef46f 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/global/valueOf.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/global/valueOf.any.js.ini @@ -3,4 +3,4 @@ [valueOf.any.worker.html] [valueOf.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-bad-imports.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-bad-imports.any.js.ini index f58bc7ffbd6..1078d8bdba4 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-bad-imports.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-bad-imports.any.js.ini @@ -3,4 +3,4 @@ [constructor-bad-imports.any.worker.html] [constructor-bad-imports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-caching.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-caching.any.js.ini index 882692158fa..1ba4176e445 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-caching.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor-caching.any.js.ini @@ -1,6 +1,6 @@ [constructor-caching.any.worker.html] [constructor-caching.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor-caching.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor.any.js.ini index f371c999295..6c57d03b2ba 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/constructor.any.js.ini @@ -9,4 +9,4 @@ [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/exports.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/exports.any.js.ini index ad9aabe97d9..fcb89e154a6 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/exports.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/exports.any.js.ini @@ -1,6 +1,6 @@ [exports.any.html] [exports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [exports.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/toString.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/toString.any.js.ini index a6171f3a687..b28ec0f27db 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/toString.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/instance/toString.any.js.ini @@ -1,5 +1,5 @@ [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/interface.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/interface.any.js.ini index 81e58a5bc55..b93a71fdd12 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/interface.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/interface.any.js.ini @@ -9,4 +9,4 @@ [interface.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini index c975bf4fb9e..46f6f179706 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini @@ -2,7 +2,7 @@ expected: ERROR [basic.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [basic.tentative.any.worker.html] expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini index 02dc6360649..2379cbf51f9 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini @@ -121,7 +121,7 @@ [constants.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constants.tentative.any.worker.html] [constants] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini index 1145b5c9b53..6bb606d8fa7 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini @@ -1,5 +1,5 @@ [imports.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [imports.tentative.any.worker.html] [imports] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini index 747cd00f915..f31177a8a0a 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini @@ -15,4 +15,4 @@ [constructor-shared.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-types.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-types.tentative.any.js.ini index 04fe71ed3b6..3ef0ad72c5e 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-types.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor-types.tentative.any.js.ini @@ -21,4 +21,4 @@ [constructor-types.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor.any.js.ini index 273b5047677..57f55d5d954 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/constructor.any.js.ini @@ -9,4 +9,4 @@ [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/grow.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/grow.any.js.ini index 4f10101a8de..8d64b05fa50 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/grow.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/grow.any.js.ini @@ -9,4 +9,4 @@ [grow.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/type.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/type.tentative.any.js.ini index d6d69dcf2dc..cd4305780b8 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/type.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/memory/type.tentative.any.js.ini @@ -39,4 +39,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/constructor.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/constructor.any.js.ini index ec1e0569cac..ab2c91d554d 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/constructor.any.js.ini @@ -3,4 +3,4 @@ [constructor.any.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/customSections.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/customSections.any.js.ini index 040537e79e0..7b0aff578ee 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/customSections.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/customSections.any.js.ini @@ -9,4 +9,4 @@ [customSections.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/exports.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/exports.any.js.ini index ad9aabe97d9..fcb89e154a6 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/exports.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/exports.any.js.ini @@ -1,6 +1,6 @@ [exports.any.html] [exports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [exports.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/imports.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/imports.any.js.ini index cb27e4acdf5..e021f1548b6 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/imports.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/imports.any.js.ini @@ -3,4 +3,4 @@ [imports.any.html] [imports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/moduleSource.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/moduleSource.tentative.any.js.ini index 125d450916b..389a9f8fd06 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/moduleSource.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/moduleSource.tentative.any.js.ini @@ -10,7 +10,7 @@ [moduleSource.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [moduleSource.tentative.any.html] [AbstractModuleSource intrinsic] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/toString.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/toString.any.js.ini index 4d7e7394aa7..6521b43af53 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/module/toString.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/module/toString.any.js.ini @@ -1,6 +1,6 @@ [toString.any.worker.html] [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/prototypes.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/prototypes.any.js.ini index 40d7d71ef79..795408c9626 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/prototypes.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/prototypes.any.js.ini @@ -1,6 +1,6 @@ [prototypes.any.worker.html] [prototypes.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [prototypes.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor-types.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor-types.tentative.any.js.ini index 04fe71ed3b6..3ef0ad72c5e 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor-types.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor-types.tentative.any.js.ini @@ -21,4 +21,4 @@ [constructor-types.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor.any.js.ini index ec1e0569cac..ab2c91d554d 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/constructor.any.js.ini @@ -3,4 +3,4 @@ [constructor.any.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/get-set.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/get-set.any.js.ini index e5ccea5ebf9..a4eddddc990 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/get-set.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/get-set.any.js.ini @@ -1,6 +1,6 @@ [get-set.any.html] [get-set.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [get-set.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/grow.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/grow.any.js.ini index 1d38dfed008..f89477762c1 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/grow.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/grow.any.js.ini @@ -1,5 +1,5 @@ [grow.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [grow.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/length.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/length.any.js.ini index 13511ab6d19..36c99dd6f09 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/length.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/length.any.js.ini @@ -1,5 +1,5 @@ [length.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [length.any.html] diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/toString.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/toString.any.js.ini index e48f0f7e492..cd7aed4b451 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/toString.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/toString.any.js.ini @@ -3,4 +3,4 @@ [toString.any.worker.html] [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/type.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/type.tentative.any.js.ini index 5d1026c296d..4c048ae076a 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/table/type.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/table/type.tentative.any.js.ini @@ -33,4 +33,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/constructor.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/constructor.tentative.any.js.ini index 0f3c34c2a53..30ff0cde6e5 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/constructor.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/constructor.tentative.any.js.ini @@ -3,4 +3,4 @@ [constructor.tentative.any.html] [constructor.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/toString.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/toString.tentative.any.js.ini index 70a5a10255d..37876a95079 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/toString.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/toString.tentative.any.js.ini @@ -3,4 +3,4 @@ [toString.tentative.any.html] [toString.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/type.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/type.tentative.any.js.ini index d3c246a07d2..4823cae6d8c 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/type.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/tag/type.tentative.any.js.ini @@ -21,4 +21,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js.ini b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js.ini new file mode 100644 index 00000000000..f38e96a600c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-constants.any.shadowrealm.html] + expected: TIMEOUT + +[DOMException-constants.any.html] + +[DOMException-constants.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini new file mode 100644 index 00000000000..8e730eb00b6 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-constructor-and-prototype.any.html] + +[DOMException-constructor-and-prototype.any.shadowrealm.html] + expected: TIMEOUT + +[DOMException-constructor-and-prototype.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini new file mode 100644 index 00000000000..3ad72995810 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-constructor-behavior.any.shadowrealm.html] + expected: TIMEOUT + +[DOMException-constructor-behavior.any.worker.html] + +[DOMException-constructor-behavior.any.html] diff --git a/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js.ini b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js.ini new file mode 100644 index 00000000000..984cc28a205 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-custom-bindings.any.html] + +[DOMException-custom-bindings.any.shadowrealm.html] + expected: TIMEOUT + +[DOMException-custom-bindings.any.worker.html] diff --git a/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini index c5b8f38cc86..63480cf15c1 100644 --- a/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini +++ b/tests/wpt/meta-legacy-layout/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini @@ -1,2 +1,2 @@ [global-mutable-prototype.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/webxr/render_state_update.https.html.ini b/tests/wpt/meta-legacy-layout/webxr/render_state_update.https.html.ini deleted file mode 100644 index 0e57356683e..00000000000 --- a/tests/wpt/meta-legacy-layout/webxr/render_state_update.https.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[render_state_update.https.html] - expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/meta-legacy-layout/workers/WorkerGlobalScope-close.html.ini new file mode 100644 index 00000000000..24daae4c2e7 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/workers/WorkerGlobalScope-close.html.ini @@ -0,0 +1,3 @@ +[WorkerGlobalScope-close.html] + [Test sending a message after closing.] + expected: FAIL diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index f0d874fa3b1..3b0033c44f4 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -1224,6 +1224,20 @@ {} ] ], + "inline-skipping-fragmentainer-003-crash.html": [ + "63e62e5c48e43c2e2963d3c3089232813904972c", + [ + null, + {} + ] + ], + "inline-skipping-fragmentainer-004-crash.html": [ + "2a29f4745ac0c384de57bc71964ae156b12ddf07", + [ + null, + {} + ] + ], "large-text-node-oof-crash.html": [ "424d663b611028762b35bccd151196759d274d1c", [ @@ -2968,6 +2982,13 @@ null, {} ] + ], + "firefox-bug-1930225.html": [ + "2f0455316c8fc0add5069fdeb0dab3c9144b1fd3", + [ + null, + {} + ] ] }, "li-without-ul-counter-crash.html": [ @@ -5937,6 +5958,13 @@ ] }, "parts": { + "dom-parts-parseparts-002-crash.tentative.html": [ + "bd2a0b588ba7fc6337727e3a5cb44299412a34b4", + [ + null, + {} + ] + ], "dom-parts-parseparts-crash.tentative.html": [ "e0f7782e23a183ee1a81af3b602ed0daf21c9158", [ @@ -142801,7 +142829,7 @@ ] ], "inline-skipping-fragmentainer-002.html": [ - "1826e9d1d78ad6341a9a97973ca504c0769f7c39", + "1344aba23d038e06ff615e21c00b9d210e0af22e", [ null, [ @@ -160994,6 +161022,19 @@ {} ] ], + "descriptor-calc.html": [ + "201f6ef78cf5cc0f97233c894f75c8e80553f33e", + [ + null, + [ + [ + "/css/css-counter-styles/counter-style-at-rule/descriptor-calc-ref.html", + "==" + ] + ], + {} + ] + ], "descriptor-fallback-invalid.html": [ "e19d9d649a03dfb15e3d15d506c9029e7cbfe725", [ @@ -199859,6 +199900,32 @@ ] ] }, + "empty-span-size-001.html": [ + "bbb33c6fc59221c6df2dd678bd401dac404863f1", + [ + null, + [ + [ + "/css/css-inline/empty-span-size-001-ref.html", + "==" + ] + ], + {} + ] + ], + "empty-span-size-002.html": [ + "f4a80a24d2a84df5f32130ea87f2fed7e7313621", + [ + null, + [ + [ + "/css/css-inline/empty-span-size-002-ref.html", + "==" + ] + ], + {} + ] + ], "empty-text-node-001.html": [ "eddf31ec59ccc206975b9947d1b4bf75e88063ed", [ @@ -200742,7 +200809,7 @@ ] ], "text-box-trim-accumulation-001.html": [ - "cdcc86b0a9e5d37ac3b830116888844f31c6a4f6", + "0e6601e1b3b14aecfd9755b9b63abb5fd8961c09", [ null, [ @@ -200755,7 +200822,7 @@ ] ], "text-box-trim-accumulation-002.html": [ - "cfb538123979a4087601c28802077aeec68359b7", + "eec3a4a9fc128361cdbda026d84a7685b67db609", [ null, [ @@ -200768,7 +200835,7 @@ ] ], "text-box-trim-accumulation-003.html": [ - "7b843230664ac82c2a061860180a1eb6ab38ba2f", + "08e39d2de897d91b2b1072a21fb519b6b288aa6d", [ null, [ @@ -200781,7 +200848,7 @@ ] ], "text-box-trim-accumulation-004.html": [ - "29cf380a87f14abbe5c5ed1c772e94f502f2c642", + "09680a9ea117a881f8067abbefe7c7f4983f42bb", [ null, [ @@ -205027,6 +205094,19 @@ {} ] ], + "nested-marker-styling.html": [ + "b3602483b7334fc7e58ef883e99fb099c27ca647", + [ + null, + [ + [ + "/css/css-lists/nested-marker-styling-ref.html", + "==" + ] + ], + {} + ] + ], "nested-marker.html": [ "9627ce936ae570325b430a1ac673cd66ae7d4252", [ @@ -205765,6 +205845,19 @@ {} ] ], + "clip-path-animation-forward-fill-positive-delay.html": [ + "4f73a1fc8c9da816b8f838fd7611f998704ae0d1", + [ + null, + [ + [ + "/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay-ref.html", + "==" + ] + ], + {} + ] + ], "clip-path-animation-forward-fill.html": [ "708896882822109bed14fd3c4fb9f977f28c3a1b", [ @@ -228558,7 +228651,7 @@ ] ], "marker-text-combine-upright.html": [ - "808cf0d3b09137a302466c048c2c10c3c47a0c6e", + "c867d2aac31bc763720ae9e84b4517a754fb4128", [ null, [ @@ -229480,6 +229573,58 @@ ], {} ] + ], + "content-based-height-rounds-up-to-step-unit.html": [ + "e3f9aa0f0109987b274a6e87c07596e45cef85d0", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], + "definite-height-rounds-up-to-next-multiple-of-step-unit.html": [ + "503e729e098f26d9496df29a2e30bae28da5be1f", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], + "definite-height-rounds-up-to-step-unit.html": [ + "49376cc6cb59d914f0032b475b4ce203657211ff", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], + "definite-height-same-as-step-unit.html": [ + "e3553145110589aacfd351b3b30be2b247eb2bad", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] ] }, "css-ruby": { @@ -241576,6 +241721,58 @@ {} ] ], + "intrinsic-percent-replaced-024.html": [ + "d15369d71c7994ff2b07c31ae1a2b68317e1ce5e", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "intrinsic-percent-replaced-025.html": [ + "8c35b2a5b8f9a5e8942a16dd912955d29448ff58", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], + "intrinsic-percent-replaced-026.html": [ + "594d6c326ee25c7b55cb80ca8587e9fdc0597fd2", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "intrinsic-percent-replaced-027.html": [ + "39092eb38f7b3d1044fcdf9624c1c0a2bd4013ed", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "intrinsic-percent-replaced-dynamic-001.html": [ "1128ffa1759f26011c0639d8b5f498322c6396ac", [ @@ -271573,6 +271770,19 @@ ] ] }, + "scale-animation-with-var-001.html": [ + "3ff5daa6711c05ee9b5b543f974b3e7869997f33", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], "scale-optional-second-001.html": [ "17cc4f50d563c6f480aa319c54bfb4abd8f17975", [ @@ -299750,7 +299960,7 @@ ] ], "nothing-captured.html": [ - "ac5635ec7cd0983162bc4189e62c9b9628d1417a", + "c7a0913bab0dc8e872c8895e275f41ae4ba0e70a", [ null, [ @@ -358555,7 +358765,7 @@ "shared-storage": { "trusted-origins": { "default.py": [ - "4dbd83639715edc8e59f2c6d077291fd7d86a249", + "b595f17073f0463dd633469527f255d3c3376d65", [] ] } @@ -382315,6 +382525,10 @@ "test_csp_self_window.sub.html.sub.headers": [ "5024a99bc9757a4d2d6dc7d629f0ad1a6496bfc8", [] + ], + "utils.js": [ + "0bb402dccc68cbc7a49af88bf2b83ac58640a2b6", + [] ] } }, @@ -401546,7 +401760,7 @@ [] ], "WEB_FEATURES.yml": [ - "2059bd49274dcd9fe4896674e266c0f3b33b29da", + "398217c4587e0c5f5364b00b8b39b49885c7f27b", [] ], "animation-common-ref.html": [ @@ -406900,6 +407114,10 @@ "a558ce29e6c2b0a2fd13238e9887b0e9bd169938", [] ], + "descriptor-calc-ref.html": [ + "99085c1acda1ddefd73d1b20693cb405f5294e70", + [] + ], "descriptor-fallback-invalid-ref.html": [ "4b1c78b204d7ac483dc6804f9745d1820c19dc06", [] @@ -420913,6 +421131,14 @@ [] ] }, + "empty-span-size-001-ref.html": [ + "7cdb84a5bb048620b56087b52d3b3172c7c34f1a", + [] + ], + "empty-span-size-002-ref.html": [ + "49cbe6cff93f53f1a849a54c1aae257b657b6d80", + [] + ], "empty-text-node-001-ref.html": [ "7ec7f1bdb0b910cb1b525535d3cc1a280a3b6136", [] @@ -421195,19 +421421,19 @@ ] }, "text-box-trim-accumulation-001-ref.html": [ - "268ad8ec5f9525453406f6fb5f9505bc203cab45", + "321ae0c1f7a7fda62929b5f2cb6c8566b5f18f93", [] ], "text-box-trim-accumulation-002-ref.html": [ - "505d2a5ebb76d9d5a57f23d79aff89f5df66a3d1", + "5a759de72be9f21e8f7c641b4897b26889f94f45", [] ], "text-box-trim-accumulation-003-ref.html": [ - "505d2a5ebb76d9d5a57f23d79aff89f5df66a3d1", + "5a759de72be9f21e8f7c641b4897b26889f94f45", [] ], "text-box-trim-accumulation-004-ref.html": [ - "67500c70481245526e4ec508722a6d7a8427e9eb", + "b2cb12b9f0ec7c83c1b558137608c06a15ae6e6d", [] ], "text-box-trim-atomic-inline-001-ref.html": [ @@ -421917,6 +422143,10 @@ "c4233918ab5dbad77129e2c473d527feb022c3f7", [] ], + "nested-marker-styling-ref.html": [ + "620219926d089e6d77360bbfeb566f498399a888", + [] + ], "ol-change-display-type-ref.html": [ "a10bc17899f9cfaa938d04d198598c4fc82fe3ca", [] @@ -422107,6 +422337,10 @@ "f4369b0f111ad591f020f1d6e2f675590e0357bb", [] ], + "clip-path-animation-forward-fill-positive-delay-ref.html": [ + "b054f2c20eda5e67dda686508aa48b990d8b595c", + [] + ], "clip-path-animation-fragmented-ref.html": [ "8883679acaaa51a72c8b662701941fdf3a18fb3d", [] @@ -426948,7 +427182,7 @@ [] ], "marker-text-combine-upright-ref.html": [ - "ae238c7443503e4253c7405688a60c239cfc9dee", + "7e9bdf3683022fc70f7ed78125fdef0ab030f157", [] ], "marker-text-decoration-skip-ink-ref.html": [ @@ -436240,7 +436474,7 @@ [] ], "README.md": [ - "f72f11dccae5e8b63de6148573723f86fbb4c708", + "a298b13fd979bac711799e9076d797d615f76d87", [] ], "WEB_FEATURES.yml": [ @@ -444642,7 +444876,7 @@ [] ], "interpolation-testcommon.js": [ - "211018ca053adfe4f03ad70bf31c060b8bfdb0b1", + "bcd8b2ffca92e3a79204fd9dbe854eba7c3ad1a5", [] ], "numeric-testcommon.js": [ @@ -445378,7 +445612,7 @@ [] ], "testharness.md": [ - "e426e37f22b7afe3fda3a37755f46fb651356b5b", + "02864f8853bbb4d7c225327ce0c8ec0461e05ab5", [] ], "tools.md": [ @@ -445935,10 +446169,6 @@ } }, "parts": { - "dom-parts-parseparts-crash-002.tentative.html": [ - "bd2a0b588ba7fc6337727e3a5cb44299412a34b4", - [] - ], "resources": { "domparts-utils.js": [ "d1da9fb0785f8b9551eacaa83606c84febf80ccd", @@ -447727,7 +447957,7 @@ }, "eventsource": { "META.yml": [ - "437da600931424b63054ca0c0c8e87b56b284167", + "c0756cf85af90b4b35cfd2daafa52f6136f091dc", [] ], "README.md": [ @@ -450877,7 +451107,7 @@ [] ], "ba-fledge-util.sub.js": [ - "0bffebfeb94bc433e7ac03019b1aadfbf194b61c", + "d981e6a056e978d41879cb5b7b05285d5b931351", [] ], "ba-public-keys": [ @@ -454606,6 +454836,22 @@ ] } }, + "consume-user-activation": { + "support": { + "current.html": [ + "52bcc455e2abd70038cec9450b5b6ca54cc10869", + [] + ], + "incumbent.html": [ + "a6ddd7ae4b01663c3b3722344f7d6016da5c196e", + [] + ], + "relevant.html": [ + "fa809b2d779d9f7b1fe641d4c9c29e496668ea14", + [] + ] + } + }, "iframe-nested-print-ref.html": [ "c36c459881cb0a6c3d85fa20a20d39b1c2d30b3c", [] @@ -465898,6 +466144,10 @@ "dd2d719134fd7573e85c9a696350cffa1705b661", [] ], + "target-blank-useractivation.html": [ + "b171b32eae9814ab9bc77ee0a583a5d1cb97c7e3", + [] + ], "target_blank_implicit_noopener.html": [ "bf6a1ae5bfe16e4fd50296636894859a0ee25ec1", [] @@ -470857,7 +471107,7 @@ [] ], "attribution-reporting-api.idl": [ - "ed4497b56ff5b7cafe3ae43ae1fcba1638f4b29c", + "3fe24bd34a0f9954758a0e18f1632151ae451918", [] ], "audio-output.idl": [ @@ -471161,7 +471411,7 @@ [] ], "fedcm.idl": [ - "443d3311a24aa11ea529b960ad606f96051f9a01", + "c308ee273b9acca186e670e47cd62ef4093f11e1", [] ], "fenced-frame.idl": [ @@ -471241,7 +471491,7 @@ [] ], "html.idl": [ - "c295941fcb275089fb5d9f0c3b3aefd36120976e", + "aefa95dbd827e122725cee59697893109e7c62ad", [] ], "idle-detection.idl": [ @@ -471721,7 +471971,7 @@ [] ], "web-animations-2.idl": [ - "4c3af535149ec218d0ed99c59dee90e14ec4d5ab", + "97a0d3f6c6baa1bff57086e0028ceb98b2eb04f6", [] ], "web-animations.idl": [ @@ -471813,7 +472063,7 @@ [] ], "webgpu.idl": [ - "700e83c27559e76672940d910e8288cee44608a4", + "401d2ec69b5e9b1a9eb158a110aa040621bf7790", [] ], "webhid.idl": [ @@ -472574,6 +472824,10 @@ "769c325aeecff6db8e378ff7256b88c679cbc008", [] ], + "WEB_FEATURES.yml": [ + "86b772a45d1ab2417f11f825c94a128565a00afa", + [] + ], "tentative": { "resources": { "busy.js": [ @@ -474149,7 +474403,7 @@ }, "media-capabilities": { "META.yml": [ - "2bd00efb9a764e29f895af7b4761f70e93fa1d02", + "eb4384efd1e3d4ed883612a47ad1e34d230f74f7", [] ], "README.md": [ @@ -475550,6 +475804,10 @@ "9b9aea8e8b11bf98dd23c8e161e3a7d701da2aba", [] ], + "WEB_FEATURES.yml": [ + "65c687eb6d4b644302f8e9ed1be27dc61806275f", + [] + ], "resources": { "blank_page_green.html": [ "b8a1947b77e25ac6b0d100c75932e8c0a67d846f", @@ -475587,7 +475845,7 @@ }, "paint-timing": { "META.yml": [ - "1892a41ed1cffcc8ba704f28bd59f5aa64c2b46a", + "2bd06a06518723ac6832a45e5e155b0bdf9f90b5", [] ], "resources": { @@ -475612,7 +475870,7 @@ [] ], "utils.js": [ - "5766971dd0d0230c644b385a4d6c282b554b2fe6", + "ed58c957c97132276bb813603e1d25133cf0d860", [] ] } @@ -477055,7 +477313,7 @@ }, "presentation-api": { "META.yml": [ - "64802e5cb440603db0b055679c485377e4435916", + "1483b9e6b50a8d748455cd3438599544188b2b75", [] ], "README.md": [ @@ -479535,7 +479793,7 @@ ] }, "idlharness-shadowrealm.js": [ - "9484ca6f512ad0414d0969b3ec265114c95fd306", + "b959ca00e83d3a312edd4fde9c217ca6e9776aed", [] ], "idlharness.js": [ @@ -480026,6 +480284,18 @@ "5e8f640c6659d176eaca4c71cc1798b7285540b7", [] ], + "testharness-shadowrealm-audioworkletprocessor.js": [ + "a87d9130908f86dc3ff0428eb57be31ef123bf00", + [] + ], + "testharness-shadowrealm-inner.js": [ + "98df77b0b6cce61533bf629e1dcdb5ebd93c40b5", + [] + ], + "testharness-shadowrealm-outer.js": [ + "9665ff2656fbc5c939a6ea30b54cb3d75f27aac8", + [] + ], "testharness.js": [ "04c65eb2e9dde8ae8c94a2d4a469971b0da710c3", [] @@ -480073,12 +480343,12 @@ [] ], "sethtml-tree-construction.dat": [ - "31c0cde233e4744f01d23942fd73f00cbe1730fd", + "c5c30f613134d29030a7dbd8b03ac0f181b630bb", [] ], "support": { "html5lib-testcase-support.js": [ - "2829fd7b79de26ec393a1376cd984c4e68a57f61", + "fbfe81a1780080dce4c5b8fa78ae08ed5f826a96", [] ] } @@ -484212,6 +484482,10 @@ "8820781709d30f11cb842f54d8e25d1ed24a4a8e", [] ], + "basic-service-worker.js": [ + "07beb37d660ed465e6eef57131f3d140cefbb27a", + [] + ], "cacheable-executor.sub.html": [ "ba1b3acb0c1198284c74c345b3de5c6d98fc2421", [] @@ -484224,6 +484498,10 @@ "304f999570b22f432681f93c17db4d06d439ad5b", [] ], + "counting-executor.py": [ + "cbcbc8eccb9bd8cf536c56cf576a4b5ea73ca44a", + [] + ], "executor.sub.html": [ "3001bc233bef6ec119e1b06260c208a670caa402", [] @@ -484260,6 +484538,14 @@ "0ab3f1ac3419a4ac8653ddef199d82e238b333da", [] ] + }, + "tentative": { + "service-worker": { + "README.md": [ + "6f20cf57def9d3a429958b3b9c7642d289135e0c", + [] + ] + } } }, "prerender": { @@ -486962,7 +487248,7 @@ [] ], "sourcefile.py": [ - "3563fb9e5e90d673f9f024f2affbde38365246d6", + "02ab1ad4fe6017226c8999568a7dd2bbccfd1a96", [] ], "spec.py": [ @@ -487188,7 +487474,7 @@ [] ], "serve.py": [ - "6ad06cafbd147a43c3ea33ee10d3ac40b776eeb1", + "9d1283ff3e8a80a94918f3871d48d039eb3d456e", [] ], "test_functional.py": [ @@ -497796,7 +498082,7 @@ [] ], "chrome.py": [ - "b39b8deb76c958edbe7fc77680910314e9de8fcd", + "73b3b5344b812500f3a0c5588d9e8d0470c0d3a2", [] ], "chrome_android.py": [ @@ -497824,11 +498110,11 @@ [] ], "firefox.py": [ - "e55036ecc48d5d71f589cb26ff717a9141f48ab9", + "694ea03d2fae2738a38df58062596d4424162470", [] ], "firefox_android.py": [ - "9c9482d0bac91d670f0b99a6f24c2295d27dc04d", + "872217b08fbb49f7095eef24d224df07744058a2", [] ], "headless_shell.py": [ @@ -497904,11 +498190,11 @@ [] ], "executorchrome.py": [ - "fa593ce40231069d0174a1fd55d2d0460f4903e6", + "e92d45094d1571857ec8d8124599da8e705a8071", [] ], "executoredge.py": [ - "95b40bd8db14f6d59c1bdd2eed10f857b613dcc9", + "2ddfdb3ad8f47a3a05086bdaa31018c7a4829fcb", [] ], "executormarionette.py": [ @@ -497928,7 +498214,7 @@ [] ], "executorwebdriver.py": [ - "c2923d13a9ead52d09932bbc895e6a148fbd2401", + "243290841f1b73a2623c436912422f36a22717f1", [] ], "executorwktr.py": [ @@ -503028,7 +503314,7 @@ }, "simulcast": { "simulcast.js": [ - "e0b90d8ac37bff19aed1c208bc84e2b649861d38", + "4d0da093f453a08742448b54bd03b1c54f74d3bc", [] ] }, @@ -508768,7 +509054,7 @@ ] ], "url-in-tags.window.js": [ - "f20b3599013bf5b4f305549f6dc85e5756a00908", + "8a722dcac82b66cb80e6d428afd6f15186e468b4", [ "FileAPI/url/url-in-tags.window.html", {} @@ -509782,11 +510068,83 @@ } ] ], - "event-dispatch-active-flag.html": [ - "46f249c9849208288787cd5446a71725e992c233", + "event-dispatch-active-flag.any.js": [ + "47c27eadb8ac314ff26d20202c19a95c18bca00b", [ - null, - {} + "IndexedDB/event-dispatch-active-flag.any.html", + { + "script_metadata": [ + [ + "title", + "IndexedDB Transaction - active flag is set during event dispatch" + ], + [ + "global", + "window,worker" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/event-dispatch-active-flag.any.serviceworker.html", + { + "script_metadata": [ + [ + "title", + "IndexedDB Transaction - active flag is set during event dispatch" + ], + [ + "global", + "window,worker" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/event-dispatch-active-flag.any.sharedworker.html", + { + "script_metadata": [ + [ + "title", + "IndexedDB Transaction - active flag is set during event dispatch" + ], + [ + "global", + "window,worker" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/event-dispatch-active-flag.any.worker.html", + { + "script_metadata": [ + [ + "title", + "IndexedDB Transaction - active flag is set during event dispatch" + ], + [ + "global", + "window,worker" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "file_support.sub.html": [ @@ -512146,25 +512504,83 @@ } ] ], - "idbindex_openCursor.htm": [ - "7baf2cf9ed730182b11dead6e5e8975f1498b45f", + "idbindex_openCursor.any.js": [ + "3de4856e2bdc4dc89fad78192b4c064d4c30459b", [ - null, - {} - ] - ], - "idbindex_openCursor2.htm": [ - "88dcdbac36c30874dceed88ae2984fbd83d88d44", + "IndexedDB/idbindex_openCursor.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBIndex.openCursor()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], [ - null, - {} - ] - ], - "idbindex_openCursor3.htm": [ - "91a98464e08d2c793912f363095aeb2d329c0129", + "IndexedDB/idbindex_openCursor.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBIndex.openCursor()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], [ - null, - {} + "IndexedDB/idbindex_openCursor.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBIndex.openCursor()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbindex_openCursor.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBIndex.openCursor()" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "idbindex_openKeyCursor.any.js": [ @@ -512908,113 +513324,18 @@ ] ], "idbobjectstore_get.any.js": [ - "638ec6e81409dc24c4dd0b05123328758a3a3943", + "7e2c2e9b415b3f93c43497e9113f0343bb4e7b2c", [ "IndexedDB/idbobjectstore_get.any.html", { "script_metadata": [ [ - "title", - "IDBObjectStore.get() - key is a number" - ], - [ - "script", - "resources/support.js" - ] - ] - } - ], - [ - "IndexedDB/idbobjectstore_get.any.worker.html", - { - "script_metadata": [ - [ - "title", - "IDBObjectStore.get() - key is a number" - ], - [ - "script", - "resources/support.js" - ] - ] - } - ] - ], - "idbobjectstore_get2.any.js": [ - "488a9043efde2ffc655e36cc0be37a57b696c6c2", - [ - "IndexedDB/idbobjectstore_get2.any.html", - { - "script_metadata": [ - [ - "title", - "IDBObjectStore.get() - key is a string" - ], - [ - "script", - "resources/support.js" - ] - ] - } - ], - [ - "IndexedDB/idbobjectstore_get2.any.worker.html", - { - "script_metadata": [ - [ - "title", - "IDBObjectStore.get() - key is a string" - ], - [ - "script", - "resources/support.js" - ] - ] - } - ] - ], - "idbobjectstore_get3.any.js": [ - "3ab6c7c75477d5193996cf40bddcfb26eb45283e", - [ - "IndexedDB/idbobjectstore_get3.any.html", - { - "script_metadata": [ - [ - "title", - "IDBObjectStore.get() - key is a Date" + "global", + "window,worker" ], [ - "script", - "resources/support.js" - ] - ] - } - ], - [ - "IndexedDB/idbobjectstore_get3.any.worker.html", - { - "script_metadata": [ - [ "title", - "IDBObjectStore.get() - key is a Date" - ], - [ - "script", - "resources/support.js" - ] - ] - } - ] - ], - "idbobjectstore_get4.any.js": [ - "a69717ce4ef08386c561437c8e544dabd767aed5", - [ - "IndexedDB/idbobjectstore_get4.any.html", - { - "script_metadata": [ - [ - "title", - "IDBObjectStore.get() - attempt to retrieve a record that doesn't exist" + "IDBObjectStore.get()" ], [ "script", @@ -513024,30 +513345,16 @@ } ], [ - "IndexedDB/idbobjectstore_get4.any.worker.html", + "IndexedDB/idbobjectstore_get.any.serviceworker.html", { "script_metadata": [ [ - "title", - "IDBObjectStore.get() - attempt to retrieve a record that doesn't exist" + "global", + "window,worker" ], [ - "script", - "resources/support.js" - ] - ] - } - ] - ], - "idbobjectstore_get5.any.js": [ - "1e3bb0fe647a07126fa74521a14a94c65324c39e", - [ - "IndexedDB/idbobjectstore_get5.any.html", - { - "script_metadata": [ - [ "title", - "IDBObjectStore.get() - returns the record with the first key in the range" + "IDBObjectStore.get()" ], [ "script", @@ -513057,30 +513364,16 @@ } ], [ - "IndexedDB/idbobjectstore_get5.any.worker.html", + "IndexedDB/idbobjectstore_get.any.sharedworker.html", { "script_metadata": [ [ - "title", - "IDBObjectStore.get() - returns the record with the first key in the range" + "global", + "window,worker" ], [ - "script", - "resources/support.js" - ] - ] - } - ] - ], - "idbobjectstore_get6.any.js": [ - "e20af4afc99c1d91dd98f2fa744318717d65aed1", - [ - "IndexedDB/idbobjectstore_get6.any.html", - { - "script_metadata": [ - [ "title", - "IDBObjectStore.get() - throw TransactionInactiveError on aborted transaction" + "IDBObjectStore.get()" ], [ "script", @@ -513090,45 +513383,16 @@ } ], [ - "IndexedDB/idbobjectstore_get6.any.worker.html", - { - "script_metadata": [ - [ - "title", - "IDBObjectStore.get() - throw TransactionInactiveError on aborted transaction" - ], - [ - "script", - "resources/support.js" - ] - ] - } - ] - ], - "idbobjectstore_get7.any.js": [ - "863ba0ac69d593ec328d0656721afea6a7567a99", - [ - "IndexedDB/idbobjectstore_get7.any.html", + "IndexedDB/idbobjectstore_get.any.worker.html", { "script_metadata": [ [ - "title", - "IDBObjectStore.get() - throw DataError when using invalid key" + "global", + "window,worker" ], [ - "script", - "resources/support.js" - ] - ] - } - ], - [ - "IndexedDB/idbobjectstore_get7.any.worker.html", - { - "script_metadata": [ - [ "title", - "IDBObjectStore.get() - throw DataError when using invalid key" + "IDBObjectStore.get()" ], [ "script", @@ -524719,10 +524983,10 @@ } ] ], - "detector.tentative.window.js": [ + "detector.https.tentative.window.js": [ "4f962de8339de0a8eb1b0444dfcf668c05f76b88", [ - "ai/language_detection/detector.tentative.window.html", + "ai/language_detection/detector.https.tentative.window.html", { "script_metadata": [ [ @@ -524735,6 +524999,44 @@ ] }, "translator": { + "ai_translator_bad_input.tentative.https.window.js": [ + "8a9e4ff5377a00793eb806b4a62c85ad9fa14f8e", + [ + "ai/translator/ai_translator_bad_input.tentative.https.window.html", + { + "script_metadata": [ + [ + "title", + "translator.create without options do not crash" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], + "ai_translator_translate.tentative.https.window.js": [ + "fe0f2d245eb371ec7c79082e8a31dea3372bd45f", + [ + "ai/translator/ai_translator_translate.tentative.https.window.html", + { + "script_metadata": [ + [ + "title", + "Translate from English to Japanese" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "translator_translate.tentative.window.js": [ "cfa6654e8ce5973364b8b43f512ee80f2dee0405", [ @@ -533869,7 +534171,7 @@ ] ], "async-html-script-removal.https.html": [ - "9ec9a3735642c781b1b373bb09f1b49d15dd7f9c", + "dc26f382f73d3380683eb3b582348d7b87514874", [ null, { @@ -533887,7 +534189,7 @@ ] ], "async-navigator-clipboard-read-resource-load.https.html": [ - "25a90a2d082250daa0e1cf18a3285af52986d87f", + "aed115231c4c9f5ba504ae62455e23a0341f6436", [ null, { @@ -534863,6 +535165,13 @@ {} ] ], + "webkit-gradient-sign.html": [ + "68e1e32b1f336e99e99f54b4a32588648035b4d1", + [ + null, + {} + ] + ], "webkit-mask-box-enumeration.html": [ "048170262a23b6929993518fca7a5a56d23614e0", [ @@ -535971,13 +536280,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "2fdc807ee07e329fd017db31025b857b957e8040", + "ead3dcc837606f0f68933dc61661d4cc8ee16329", [ "compression/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -537344,14 +537657,39 @@ ] ], "console-label-conversion.any.js": [ - "4d48df3b1d0d00c1f0dd8778306db4b7bb00285d", + "9fa1bd0f7c275defd35c4d11069ca176dd4cb651", [ "console/console-label-conversion.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "console/console-label-conversion.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "console/console-label-conversion.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ], "console-log-large-array.any.js": [ @@ -537427,14 +537765,39 @@ ] ], "console-namespace-object-class-string.any.js": [ - "d3ff7f7d07636154080f4d24106e1a6703c37dc4", + "4fed742c3083f2c10e85eed0a9889585bc218986", [ "console/console-namespace-object-class-string.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "console/console-namespace-object-class-string.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "console/console-namespace-object-class-string.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ], "console-tests-historical.any.js": [ @@ -537474,13 +537837,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "8f68252dcd2b13d25f7e623495987517a3dea411", + "fcd3817f2276a50ea6fee7990cd7a4449e4722a6", [ "console/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -541653,14 +542020,14 @@ ] ], "to-javascript-parent-initiated-child-csp.html": [ - "e95e71c59bca3b368034d3b44fda8834d0eeb7b1", + "84d74ad3f8a961b8d6f8c5beffbc4e7fd5fd77a8", [ null, {} ] ], "to-javascript-parent-initiated-parent-csp.html": [ - "98052c42c1e8f0fdf038791ab685cfc1d4246385", + "53057f449f125d7528cdcaca5a370dbc2a374671", [ null, {} @@ -549056,7 +549423,7 @@ ] ], "anchor-size-parse-valid.html": [ - "0d874ca389914bfdbf9b7ace41725fffea0e4de0", + "b8ecb9b0607a6ea077579ea0a92942320c59bee3", [ null, {} @@ -549302,7 +549669,7 @@ {} ] ], - "popover-implicit-anchor.tentative.html": [ + "popover-implicit-anchor.html": [ "b6bba4534c0ed30c314101c788d9ca414dff1102", [ null, @@ -552916,6 +553283,13 @@ {} ] ], + "scope-declarations.html": [ + "aaccab9794b341890261ee96b1c711f149d77caf", + [ + null, + {} + ] + ], "scope-deep.html": [ "0e88778202fc847e447e8f3838440b2c9babbefc", [ @@ -552956,7 +553330,7 @@ ] ], "scope-implicit.html": [ - "a1c6d1c62640236ba8fbddfa11933e4f4c374557", + "2fff1dd1d257ad3f8da8d4471c1a01b8a79c4fac", [ null, {} @@ -553054,7 +553428,7 @@ ] ], "scope-shadow.html": [ - "6aa1f3fce80cd48c33514a74146affb3c9b12e95", + "16956d838bdc53366c263de763f344d3256c8b92", [ null, {} @@ -554293,22 +554667,22 @@ ] ], "scroll-state": { - "at-container-overflowing-parsing.html": [ - "e45326a2ffec65ba1653afa5372e908bc825a8ae", + "at-container-scrollable-parsing.html": [ + "298e2023a33d1d8b412c23f51b9a870328ae1dbc", [ null, {} ] ], - "at-container-overflowing-serialization.html": [ - "75a2be3bb788488b9521b8c6b1ae3e739f2b1c47", + "at-container-scrollable-serialization.html": [ + "6aef321ce4b614d3f596964fa722007db52649d0", [ null, {} ] ], "at-container-snapped-parsing.html": [ - "adeace0a7d4f27bc58ad9aeb657fa28e1a45d161", + "1205194c6e5e06de9a8c10ba1524c301798dcae8", [ null, {} @@ -554357,14 +554731,14 @@ ] ], "multiple-scroll-state-containers-comma-separated-queries.html": [ - "f1622c1e7589047a0aa8951245708685198de015", + "1b48f486020f0694d6bd0610ea64969e28e65d6a", [ null, {} ] ], - "scroll-state-initially-overflowing.html": [ - "fe26333e55c493eac5972d852d60f3915add8b75", + "scroll-state-initially-scrollable.html": [ + "3b40d7777f0c7142ecd3e89e2489ee4f1ac845ed", [ null, {} @@ -554384,43 +554758,57 @@ {} ] ], - "scroll-state-overflowing-change.html": [ - "15cdc96421fe89be7f944d7b5988a81bd591ab9a", + "scroll-state-query-with-var.html": [ + "5d57573dcbf9a1ba88d6c6ca871313fa0c0ebd52", [ null, {} ] ], - "scroll-state-overflowing-container-type-change.html": [ - "ecb12141603238031aaabb644e607e0bad78b41a", + "scroll-state-scrollable-axis.html": [ + "0f31c95c7edb8a812f79e4c8fd254619ba23946c", [ null, {} ] ], - "scroll-state-overflowing-layout-change.html": [ - "72344e2943dea37e553daca83ec68515aa7a7f91", + "scroll-state-scrollable-change.html": [ + "0554b3d3a03754b37e51b80d6c39449a7827a78e", [ null, {} ] ], - "scroll-state-overflowing-pseudo.html": [ - "cb2638c5c122b53e4e122785203f3dcf6db8b8f5", + "scroll-state-scrollable-container-type-change.html": [ + "41ee24eb027ff6e9e4fb4c04b3bfc24fc6dc4d12", [ null, {} ] ], - "scroll-state-overflowing-wm.html": [ - "137808db805ef93e976d726630215ca1c5e9406c", + "scroll-state-scrollable-layout-change.html": [ + "81f4c64192c0ac47bf63d446d6e5f79e0ed17332", [ null, {} ] ], - "scroll-state-query-with-var.html": [ - "457b2612c1e7aeb768197f2c68b598d652a25f67", + "scroll-state-scrollable-pseudo.html": [ + "e0c6a6e6eca5a469621b87c5a52bd312361b54f6", + [ + null, + {} + ] + ], + "scroll-state-scrollable-wm.html": [ + "717205f0045869980c4710ac50d0fad35d57eca7", + [ + null, + {} + ] + ], + "scroll-state-snapped-both.html": [ + "f2052192807ccd15176cf72cf06f546d76ae14e6", [ null, {} @@ -559547,6 +559935,13 @@ {} ] ], + "gap-decorations-width-computed.html": [ + "49ebb0f6be0184402b464650dc5fcc938a30d89d", + [ + null, + {} + ] + ], "gap-decorations-width-invalid.html": [ "74f2271a4c9407075586b7e53e7dea3be0711b2e", [ @@ -568364,7 +568759,7 @@ ], "parsing": { "highlight-pseudos-search-text.tentative.html": [ - "c870125bbc83097342c13ea62e1f9cf7b5629e57", + "9b9a1f10fb182f9806dacfdaae81afa9be4121e7", [ null, {} @@ -568392,7 +568787,7 @@ ] ], "the-check-pseudo-element.tentative.html": [ - "70f35091bc9484ae6e6802e64aa18bab9b0b8610", + "d6d9fc2fd90124d536d419bb2d24f3b5ec9e19f5", [ null, {} @@ -568420,6 +568815,13 @@ {} ] ], + "pseudo-replaced-elements.html": [ + "8b5f994841b8e8e4f3aea05465926ee429a5718a", + [ + null, + {} + ] + ], "selection-universal-shadow-dom.html": [ "738e7995430a80bee071664a5de9c399a7043b0f", [ @@ -578831,7 +579233,7 @@ ] ], "get.html": [ - "88fe53493cbcdfa470b2aa0558c9917fc253b242", + "5d9f51900c2c7c1d45b195d95a4cb8c6f82b9b4f", [ null, {} @@ -578875,14 +579277,14 @@ ] ], "clear.html": [ - "e6bdd4fffea6359e8c5b6c73a0d4de97696fec2e", + "49448b4f52a51a2853a49c2a2263200a16185229", [ null, {} ] ], "declared.tentative.html": [ - "f6c5dfdb6a9b3e6fdfc5d8000e3ac2e38f096e8e", + "43db502221d6d6112774927ec9febe3fe726c8f3", [ null, {} @@ -578917,14 +579319,14 @@ ] ], "get-shorthand.html": [ - "0a83ca4d09f37ebca5699c7234c5a2dd0e2ad4df", + "6c14c35ad8f52ba78229a1d8635414ac9fd27e70", [ null, {} ] ], "get.html": [ - "847b6f6fa7a22317e1e6e704a9dfb558e4f84d5c", + "870d138b10eae2c40fec3448f44fe62cc8194a4f", [ null, {} @@ -578982,7 +579384,7 @@ ] ], "clear.html": [ - "24ca69926b2816593bea2e2baa0444ee51d03e33", + "4599d5e212d53146c2519c46b82f945762a74406", [ null, {} @@ -579017,14 +579419,14 @@ ] ], "get-shorthand.html": [ - "6ce318d5995cd10c1fd15d3d3c24ae7863783364", + "56ee24a6642324713a8c2f2bb0056982afcf3734", [ null, {} ] ], "get.html": [ - "1fcc09be6f21b54f12b980e3a2154a7e98a46204", + "026b6752f06dc9cce78c0c836d63f6e6c9881d2a", [ null, {} @@ -581525,7 +581927,7 @@ ] ], "attr-security.html": [ - "4280bcaeff08e827c9ccc780fcfb3bed599ac8c1", + "b3c7dda9c5697b2bac81e17ee2a54c2e5ab8db69", [ null, {} @@ -581699,6 +582101,20 @@ {} ] ], + "calc-sibling-function-parsing.html": [ + "dfddf84a061556d3c7c08ac9eaae134922314439", + [ + null, + {} + ] + ], + "calc-sibling-function.html": [ + "19e08b7f9a9bae762aaec106aedec080dd9571a7", + [ + null, + {} + ] + ], "calc-size": { "animation": { "calc-size-height-interpolation.html": [ @@ -591898,6 +592314,27 @@ } ] ], + "handler-count.html": [ + "deabdaa4df7b51aad448abd8dac77a590dce9010", + [ + "dom/events/handler-count.html?document", + { + "testdriver": true + } + ], + [ + "dom/events/handler-count.html?element", + { + "testdriver": true + } + ], + [ + "dom/events/handler-count.html?window", + { + "testdriver": true + } + ] + ], "legacy-pre-activation-behavior.window.js": [ "e9e84bfad1e6f769262cb3b53ca5c201cc77aa38", [ @@ -592757,13 +593194,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "cb03c07c9be1d8f4eb6d3656a17b1bf3d6625ed3", + "d9312080264d47a4558c3093deaf96e841834757", [ "dom/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -594757,7 +595198,7 @@ "moveBefore": { "tentative": { "Node-moveBefore.html": [ - "7056cd38470815bb59c026dc09edb1471a2321e1", + "22586d169c0ba211deafa5a1b510bdbcab567803", [ null, {} @@ -594899,7 +595340,7 @@ ] ], "live-range-updates.html": [ - "9f8c4d99c1600beaf284743c5c10949a35816b71", + "7f73b37e6a8231ca8c01884bb11a974156e392ef", [ null, {} @@ -594989,7 +595430,7 @@ ] ], "selection-preserve.html": [ - "8739209b620562caf8aeb49110c3e3ef5a7a059a", + "cb49e19d72978e4ec7e97a7077f96b36779191e0", [ null, { @@ -596345,8 +596786,18 @@ } ] ], + "copy-paste-in-styled-inline-editing-host.https.html": [ + "d1d875f9b411dfa27e3ea9f23c606f28bd2d82cc", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ], "delete-before-invisible-line-break.html": [ - "ec88079d31e7f9fe819ee0e8f00156872cc5ea05", + "7d5beccc71c6219c9c5f337836c699aef077cc04", [ "editing/other/delete-before-invisible-line-break.html?white-space=normal", { @@ -596876,7 +597327,7 @@ ] ], "forwarddelete-before-invisible-line-break.html": [ - "aebfdc2899eeda47600ecf6c1b0758dbd67ac064", + "7ab0a6fabc7dfe7f9a05b62ab44fe5b5597ef4f7", [ "editing/other/forwarddelete-before-invisible-line-break.html?white-space=normal", { @@ -599470,6 +599921,13 @@ {} ] ], + "paste_text_with_text_transform.html": [ + "17d83fee288737ddb570e7b4e8852ff14a89eec0", + [ + null, + {} + ] + ], "plain-text-copy-paste-of-paragraph-ending-with-non-layed-out-content.html": [ "4b053e37706c2ed0e044caf5166f1f07fe59fa7e", [ @@ -601678,13 +602136,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "baf3efcbb027e4f44df8d42a9ab0e6350bad328e", + "205b35cf04aeaec3883db40be87aa87749f80836", [ "encoding/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -627224,7 +627686,7 @@ ] }, "quota.tentative.https.window.js": [ - "9d0ae4287dfb7990aa8d54973edfbeebf355e058", + "400be4050955a96c96df49f5976cc5a8b43246ce", [ "fetch/fetch-later/quota.tentative.https.window.html", { @@ -637042,7 +637504,7 @@ ] ], "get-interest-group-auction-data.https.window.js": [ - "453d0f8e64285694e8ff30cba41331d331151970", + "4a46c44210ca5989472bcbe06c3b82a514c997e0", [ "fledge/tentative/get-interest-group-auction-data.https.window.html?1-4", { @@ -641623,7 +642085,7 @@ ] ], "server-response.https.window.js": [ - "7bbe4bbf00840ab21c213ad3d4ab7ad7470974c7", + "fa9defa79bcb0eb54e31e767884f54b766dae1a5", [ "fledge/tentative/server-response.https.window.html?1-4", { @@ -641715,6 +642177,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -641811,6 +642281,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -641907,6 +642385,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642003,6 +642489,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642099,6 +642593,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642195,6 +642697,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642291,6 +642801,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642387,6 +642905,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642483,6 +643009,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642579,6 +643113,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642675,6 +643217,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642771,6 +643321,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642867,6 +643425,222 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" + ] + ], + "timeout": "long" + } + ], + [ + "fledge/tentative/server-response.https.window.html?57-60", + { + "script_metadata": [ + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "resources/ba-fledge-util.sub.js" + ], + [ + "script", + "resources/fledge-util.sub.js" + ], + [ + "script", + "third_party/cbor-js/cbor.js" + ], + [ + "script", + "/common/subset-tests.js" + ], + [ + "timeout", + "long" + ], + [ + "variant", + "?1-4" + ], + [ + "variant", + "?5-8" + ], + [ + "variant", + "?9-12" + ], + [ + "variant", + "?13-16" + ], + [ + "variant", + "?17-20" + ], + [ + "variant", + "?21-24" + ], + [ + "variant", + "?25-28" + ], + [ + "variant", + "?29-32" + ], + [ + "variant", + "?33-36" + ], + [ + "variant", + "?37-40" + ], + [ + "variant", + "?41-44" + ], + [ + "variant", + "?45-48" + ], + [ + "variant", + "?49-52" + ], + [ + "variant", + "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" + ] + ], + "timeout": "long" + } + ], + [ + "fledge/tentative/server-response.https.window.html?61-64", + { + "script_metadata": [ + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "resources/ba-fledge-util.sub.js" + ], + [ + "script", + "resources/fledge-util.sub.js" + ], + [ + "script", + "third_party/cbor-js/cbor.js" + ], + [ + "script", + "/common/subset-tests.js" + ], + [ + "timeout", + "long" + ], + [ + "variant", + "?1-4" + ], + [ + "variant", + "?5-8" + ], + [ + "variant", + "?9-12" + ], + [ + "variant", + "?13-16" + ], + [ + "variant", + "?17-20" + ], + [ + "variant", + "?21-24" + ], + [ + "variant", + "?25-28" + ], + [ + "variant", + "?29-32" + ], + [ + "variant", + "?33-36" + ], + [ + "variant", + "?37-40" + ], + [ + "variant", + "?41-44" + ], + [ + "variant", + "?45-48" + ], + [ + "variant", + "?49-52" + ], + [ + "variant", + "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -642963,6 +643737,14 @@ [ "variant", "?53-56" + ], + [ + "variant", + "?57-60" + ], + [ + "variant", + "?61-64" ] ], "timeout": "long" @@ -648574,13 +649356,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "3209db5f41b721a2cb2376e3b79bf21bc0f0da08", + "b5b2a2d3efd0148ddd06a62928544e9e09b95449", [ "hr-time/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -657613,6 +658399,26 @@ } ] ], + "consume-user-activation": { + "window-open-multi-global.html": [ + "ac8ed8a1264806b75dd6ef3a726c07d0a1cdb270", + [ + null, + { + "testdriver": true + } + ] + ], + "window-open.html": [ + "8328d99a1de07c7d17bdac2e95e1938216c5591f", + [ + null, + { + "testdriver": true + } + ] + ] + }, "dangling-markup-window-name.html": [ "1bc8bb9f7ff558f60bda1dbacda617e34dfe2d19", [ @@ -684453,6 +685259,15 @@ {} ] ], + "aria-element-reflection-labelledby.html": [ + "9846255100ba5ab854006e301e365ab4ca5c0a6b", + [ + null, + { + "testdriver": true + } + ] + ], "aria-element-reflection.html": [ "e04610171b5ae20d827d6370c2005c6366d99698", [ @@ -685309,13 +686124,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "ef71b74e50984fbfb9a397296150227cecb7c15a", + "e0f2691ce2add8ff0780d3350919a46c25040a62", [ "html/dom/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -696032,6 +696851,24 @@ ] }, "form-submission-target": { + "form-target-blank-useractivation-multi-globals.html": [ + "af241016386eda343485d91237b6e3c029c7f72d", + [ + null, + { + "testdriver": true + } + ] + ], + "form-target-blank-useractivation.html": [ + "6d8506ac982413e65ccd6a54d8bb7ade3bd947e5", + [ + null, + { + "testdriver": true + } + ] + ], "form-target-iframe.html": [ "f37bc33f6f93ca94940ffeb0066945eb9aa020ee", [ @@ -697647,7 +698484,7 @@ ], "customizable-select": { "button-in-popover.tentative.html": [ - "0a71fd76452ca78479b3809c8bfc8f438e8a8194", + "32d7c072ce5df5bd44b2d4f581b4244910fe879c", [ null, { @@ -697665,7 +698502,7 @@ ] ], "option-computed-style.tentative.html": [ - "9c930966829506685fdaccefdb5cd6e961db33d9", + "ba2861a5c6181b72c3b8abc3e077a9f414f2cd99", [ null, {} @@ -697714,6 +698551,15 @@ } ] ], + "select-events.tentative.html": [ + "fcf53233f18d7f38c41880d5939cb1c245ce759d", + [ + null, + { + "testdriver": true + } + ] + ], "select-fallback-datalist-animations.tentative.html": [ "907b668c3f2d70eff5e0337a1f76fcdbe970a9ed", [ @@ -697742,6 +698588,16 @@ } ] ], + "select-keyboard-focus-change-for-hidden-options.tentative.html": [ + "0067d8d7e8f167e20205c7f99c56a9fa2a3d1ee8", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ], "select-mouse-behavior.tentative.html": [ "d06330f5f639d86e6a6f59bbf011d1e2de78669f", [ @@ -698536,11 +699392,12 @@ ] ], "dialog-closedby.tentative.html": [ - "8b365073b9c2b2a84437e6228d4d4794d40bfea4", + "cb72b701a0c602d318b9444b83ab314adfb2fcd7", [ null, { - "testdriver": true + "testdriver": true, + "timeout": "long" } ] ], @@ -698663,25 +699520,27 @@ ] ], "dialog-popover-closedby-complex.tentative.html": [ - "f254c4d9f7fa2fde8702463b6041771e565f3133", + "aa45ecaad4ff8a619b9f9e8686084052cc411acb", [ null, { - "testdriver": true + "testdriver": true, + "timeout": "long" } ] ], "dialog-popover-closedby-simple.tentative.html": [ - "1658e200bb597627dada5ba0158a326e3e4ed949", + "f1d78e1ebcda6aacf7a3e586635d793f25d3d1b9", [ null, { - "testdriver": true + "testdriver": true, + "timeout": "long" } ] ], "dialog-requestclose.tentative.html": [ - "ed52f78a88722865aef9cf61718b2913a9c677b2", + "eb2270b861c75e8318760b1ee6ce5398c780d780", [ null, { @@ -699426,6 +700285,24 @@ "timeout": "long" } ] + ], + "target_blank_useractivation.html": [ + "d752990eb474430a98dce8075c34f5daae0d0a4f", + [ + null, + { + "testdriver": true + } + ] + ], + "target_blank_useractivation_multi_globals.html": [ + "40fa040665607f6172637fae688d49335e9bf98a", + [ + null, + { + "testdriver": true + } + ] ] } }, @@ -699506,7 +700383,7 @@ {} ] ], - "imperative-invokers.tentative.html": [ + "imperative-invokers.html": [ "7cda696bfa8ee68a4f4684b6be453615e8f1d74f", [ null, @@ -699670,8 +700547,8 @@ } ] ], - "popover-hover-crash-hang.tentative.html": [ - "60309398db0011227a89f4485f147d253358439f", + "popover-hover-hang.tentative.html": [ + "7868fa71a55b2e5be6fc07a68de43f341e53b31f", [ null, { @@ -699826,6 +700703,13 @@ {} ] ], + "popover-nested-in-button.html": [ + "ed4cb78f8c8a87ff6a34541667e53ca5b5e2db79", + [ + null, + {} + ] + ], "popover-not-keyboard-focusable.html": [ "55c70aa643e0b1302024d55ee8f19d09815d7401", [ @@ -705904,6 +706788,13 @@ {} ] ], + "misnested-form-in-template.html": [ + "aafcc8379c01f447800ceeadc2459ce0de276dd7", + [ + null, + {} + ] + ], "named-character-references.html": [ "d09915cd974dd3a8b828eb58c004d63c853d1271", [ @@ -707442,14 +708333,39 @@ }, "atob": { "base64.any.js": [ - "7f433f4d8a9ee2e317def3327c5882938cbd6732", + "e9bcb67a9d9a278cd8e20005575011bf007b248e", [ "html/webappapis/atob/base64.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "html/webappapis/atob/base64.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "html/webappapis/atob/base64.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ] }, @@ -718276,6 +719192,13 @@ {} ] ], + "SourceBuffer-appendWindowEnd-rounding.html": [ + "673ba7457dc653acd893d79c443c8f50d6ec8898", + [ + null, + {} + ] + ], "SourceBuffer-short-frame-endOfStream.html": [ "da55af610f663b8dffd77bf3ec5bb7d4d8a8fce7", [ @@ -725144,7 +726067,7 @@ ] ], "nav2-test-document-replaced.html": [ - "5972f20e9bd7ffdf27d32b5b30b63913ceeeed09", + "480e2bef841f7d5e36e872b8ba390ebbd7418ee2", [ null, {} @@ -725250,6 +726173,13 @@ } ] ], + "nav2-test-timing-persistent.html": [ + "c3db5e1dcf0fb151c0bc896b1be7b9fc1acb46cb", + [ + null, + {} + ] + ], "nav2-test-unique-nav-instances.html": [ "1d77ab6bae101b704d1267e8b03416011f28d676", [ @@ -725950,6 +726880,36 @@ null, {} ] + ], + "worker-gc.https.window.js": [ + "754e1fb1a8cb09a9a1c34d81a9b2d4e4dd809af0", + [ + "notifications/worker-gc.https.window.html", + { + "script_metadata": [ + [ + "title", + "An active notification should prevent worker cycle collection" + ], + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ], + [ + "script", + "/common/gc.js" + ], + [ + "script", + "resources/helpers.js" + ] + ] + } + ] ] }, "old-tests": { @@ -726816,6 +727776,13 @@ {} ] ], + "paint-timing-mixin.html": [ + "837d45620b65c17e46c622209050a84ff48b63ae", + [ + null, + {} + ] + ], "replaced-content-image.html": [ "b3199aa0f6d54cc102ed5262c71021e232816ccc", [ @@ -727944,13 +728911,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "6caaa3306132bdc930e5bbae24981f01d0022a0a", + "671c172d3e6862bdcb1f299985ef8085e7a9f9ec", [ "performance-timeline/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -731333,7 +732304,7 @@ ] ], "pointerevent_iframe-touch-action-none_touch.html": [ - "109aec8dcd38cfadd8d8055b0a9b7d3b5a6dc791", + "3dd6a807c3c75b03dae81c9ca691e2346b6a5429", [ null, { @@ -731436,7 +732407,7 @@ ] ], "pointerevent_pointerId_scope.html": [ - "33f5d4fda3dcfb48fd41385d5c65944060154e27", + "c95fbf4ca15b695694c48b41d2bb6d74a6906e86", [ null, { @@ -747158,50 +748129,36 @@ } ] ], - "sanitizer-config.tentative.html": [ - "bad18483fc4af686c988176add0c0a6eef668db1", - [ - null, - {} - ] - ], - "sanitizer-insecure-context.html": [ - "4b185fd3a7443bc19fcd929abf60240f47666a1c", + "sanitizer-basic-filtering.tentative.html": [ + "8a3aa4f757b2eff692818fe3767a14c0afc0e0ac", [ null, {} ] ], - "sanitizer-names.https.html": [ - "78f1d605a19e02fac1e760f582d80a57e7ddb0db", - [ - null, - {} - ] - ], - "sanitizer-query-config.https.html": [ - "60cba2d618bbeeaf9cd48ab3e1da0f8c8202346a", + "sanitizer-config.tentative.html": [ + "bad18483fc4af686c988176add0c0a6eef668db1", [ null, {} ] ], - "sanitizer-secure-context.https.html": [ - "0e04e04d169a40e8a4a82ce81bb3e29cd7de83a1", + "sanitizer-names.tenative.html": [ + "8b70d723222cb537d51cd93564151e7bc0f7305e", [ null, {} ] ], - "sanitizer-unknown.https.html": [ - "7b9835cb6d07e22481f19ef6fa3892b7e370a3a5", + "sanitizer-unknown.tentative.html": [ + "37bb8c832274c25e6d0eca8df859b2a915943e14", [ null, {} ] ], "sethtml-tree-construction.tentative.html": [ - "dcb414cf5e566e7bb9f43f2c726330413d6d7b82", + "bae406ef703346adaf31790f84c030b25acc2cae", [ null, {} @@ -749503,6 +750460,34 @@ {} ] ], + "scroll-timeline-anonymous-source-quirks-mode.html": [ + "fbf62692e22b0fcfacda649d1c0eb421f4e13612", + [ + null, + {} + ] + ], + "scroll-timeline-anonymous-source-scrollable-body-quirks-mode.html": [ + "2e18c881208ab9b415ace063fbba0837a9d57484", + [ + null, + {} + ] + ], + "scroll-timeline-anonymous-source-scrollable-body.html": [ + "018189b2bd8e95c34e967fc8ac9491b6bb25d0a3", + [ + null, + {} + ] + ], + "scroll-timeline-anonymous-source.html": [ + "5f652c717fe06766011565c05b1e9bd3ec0a10a4", + [ + null, + {} + ] + ], "scroll-timeline-axis-computed.html": [ "c942fb40932433dd4daf7dbb68557488bebb14e8", [ @@ -750478,7 +751463,7 @@ ] ], "scroll-to-text-fragment.html": [ - "7af9bdba4c1e3df2fb559adc27f9a87cc8052ac0", + "8a0fa17a8c590282a47b2fcd10f3fb30277bd77e", [ null, { @@ -750841,6 +751826,15 @@ {} ] ], + "anchor-removal.html": [ + "40675b1c6c98fa06b78099a68f3ce5424dedbac5", + [ + null, + { + "testdriver": true + } + ] + ], "anonymous": { "details-ancestor.html": [ "b0adfa68907044124e626d2871297b65eac4d35a", @@ -751308,7 +752302,7 @@ ] ], "Selection-getComposedRanges-dom-mutations-removal.html": [ - "d89dcb2ce9ddb9318c36a66b64b1abb3ce1aef7c", + "194595aa4a7dc2cb34a61e854d5e4825019e1037", [ "selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html?mode=closed", {} @@ -755370,6 +756364,15 @@ } ] ], + "click-focus-slot-ancestor.html": [ + "724b5644dcb5b40cf5d2ff34209e124070117477", + [ + null, + { + "testdriver": true + } + ] + ], "delegatesFocus-tabindex-change.html": [ "f159c22164bb62064b62bc089faf5bd05cba555f", [ @@ -756148,7 +757151,7 @@ ] ], "property-reflection.html": [ - "c6ecbf84537d18cab0293ac1fd965b8e8fd40846", + "2f1bf01a864eaa52d8ba12d0efdd56e76148a803", [ null, { @@ -759188,6 +760191,61 @@ } ] ], + "tentative": { + "service-worker": { + "basic.sub.https.html": [ + "9420088ff291590816bd6d411dbfaa73df69830f", + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=cross-site&sw=fetch-handler", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=cross-site&sw=fetch-handler-to-fallback", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=cross-site&sw=no-controller", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=cross-site&sw=no-fetch-handler", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=same-site&sw=fetch-handler", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=same-site&sw=fetch-handler-to-fallback", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=same-site&sw=no-controller", + { + "timeout": "long" + } + ], + [ + "speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html?origin=same-site&sw=no-fetch-handler", + { + "timeout": "long" + } + ] + ] + } + }, "user-pass.https.html": [ "011e6137e61ad8afb21070a7d3e341a42061c000", [ @@ -762583,13 +763641,17 @@ }, "streams": { "idlharness-shadowrealm.window.js": [ - "099b2475ca7e8795a685a080d48b0c0b05fd886d", + "9ec65f7bdf80ef101fd90d1fe441a33902fe2eda", [ "streams/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -770784,6 +771846,13 @@ ] }, "scripted": { + "SVGMarkerElement-orientType-synchronization.html": [ + "041421283105b1fbc1cacabbe81267b9babfb5ac", + [ + null, + {} + ] + ], "paint-order-computed-value-01.svg": [ "7ea669f1508283f498e9b38030022deac3b091a0", [ @@ -772052,7 +773121,7 @@ ] ], "single-touch.html": [ - "4db96c208d62fe4b09558cce8312d4aba1d39836", + "002be074e15cd5758191eab2ba95186a59a0c6b6", [ null, { @@ -775369,13 +776438,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "2373f84e0e251a967c221ee63a1f7076bb089f78", + "b090371e3c30b162eb4fb584e966544520ad7b62", [ "url/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -776656,13 +777729,17 @@ ] ], "idlharness-shadowrealm.window.js": [ - "340da96f749d4910af1c487fa3ae0fa9d91f4d59", + "52ad58faa224ec8b0a6daf3eca05a7d69579bd1b", [ "user-timing/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -779184,13 +780261,17 @@ ] }, "idlharness-shadowrealm.window.js": [ - "6f221c8c247fcedec0a0865c6e93b71b24a1f3f1", + "26348037f73647988d48857a83dd10847e044409", [ "wasm/jsapi/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -785580,7 +786661,7 @@ ] ], "audiobuffersource-duration-loop.html": [ - "abb8983cc0b1b1306faff44239050af91b655153", + "fa188b68eeec27a7f2f428f3bb441464bf276129", [ null, {} @@ -792326,7 +793407,7 @@ ] ], "video-decoder.https.any.js": [ - "6b77aeae5451d7e745ef7ddc495864a50e763066", + "333ac55a9b4a8c7a1bdf5cc946f08fe5a6060547", [ "webcodecs/video-decoder.https.any.html", { @@ -792951,6 +794032,570 @@ } ] ], + "video-encoder-h26x-annexb.https.any.js": [ + "076a8342f1fb3cf3eef81e398c690a8877f3f2aa", + [ + "webcodecs/video-encoder-h26x-annexb.https.any.html?h264_annexb_hardware", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.html?h264_annexb_software", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.html?h265_annexb_hardware", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.html?h265_annexb_software", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.worker.html?h264_annexb_hardware", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.worker.html?h264_annexb_software", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.worker.html?h265_annexb_hardware", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ], + [ + "webcodecs/video-encoder-h26x-annexb.https.any.worker.html?h265_annexb_software", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "/webcodecs/video-encoder-utils.js" + ], + [ + "variant", + "?h264_annexb_software" + ], + [ + "variant", + "?h264_annexb_hardware" + ], + [ + "variant", + "?h265_annexb_software" + ], + [ + "variant", + "?h265_annexb_hardware" + ] + ] + } + ] + ], + "video-encoder-rescaling.https.any.js": [ + "70bafa04964cba77acc1c86b3f7d6f4b8ce4b728", + [ + "webcodecs/video-encoder-rescaling.https.any.html?av1", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.html?h264_annexb", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.html?h264_avc", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.html?vp8", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.html?vp9_p0", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.worker.html?av1", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.worker.html?h264_annexb", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.worker.html?h264_avc", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.worker.html?vp8", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ], + [ + "webcodecs/video-encoder-rescaling.https.any.worker.html?vp9_p0", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9_p0" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ] + ] + } + ] + ], "video-encoder.https.any.js": [ "2746e60917b9e920a9015c925f7dc003021ebd04", [ @@ -794363,47 +796008,147 @@ ], "es-exceptions": { "DOMException-constants.any.js": [ - "bb846a494eb898aed621181f182c1b125f9aaeae", + "9b6978783723ebaa1e925873d71db85c11d927f7", [ "webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ], "DOMException-constructor-and-prototype.any.js": [ - "a015470cad6bf7f72541718243e94512671454ad", + "011521652654c93a2d9b8a7915e432b55b9f2084", [ "webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ], "DOMException-constructor-behavior.any.js": [ - "e9917af2287490c77543146a660d57c822cccf2e", + "c4ddabdafd4597aac6f13ad5182b78566045c09a", [ "webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ], "DOMException-custom-bindings.any.js": [ - "cd4e5b6341948cb8fad29cc29483dcf6b8444bcd", + "d1c86930d4cd8ef57fdc6e6b8bcff03049a389ca", [ "webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } + ], + [ + "webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.shadowrealm.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ], [ "webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.worker.html", - {} + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,shadowrealm" + ] + ] + } ] ], "exceptions.html": [ @@ -794711,13 +796456,17 @@ ] }, "idlharness-shadowrealm.window.js": [ - "ab1ca9a0198720d537744cdc8777205317b41f58", + "249d2960823b2614fe15019eb24fc36c45c56a37", [ "webidl/idlharness-shadowrealm.window.html", { "script_metadata": [ [ "script", + "/resources/testharness-shadowrealm-outer.js" + ], + [ + "script", "/resources/idlharness-shadowrealm.js" ] ] @@ -799110,7 +800859,7 @@ ] ], "dequantizeLinear.https.any.js": [ - "54940e3f482a0c4e1c0012733670fdae0372940a", + "5ac15593e4e1ea3d4921cd198166154c8628b548", [ "webnn/conformance_tests/dequantizeLinear.https.any.html?cpu", { @@ -801081,7 +802830,7 @@ ] ], "gatherElements.https.any.js": [ - "a7bea51de1303aec2f9ea512c31328e54ea3d4be", + "39a30c10735fe953a1c0343a0af9999a16f7d97c", [ "webnn/conformance_tests/gatherElements.https.any.html?cpu", { @@ -808746,7 +810495,7 @@ ] ], "quantizeLinear.https.any.js": [ - "1e25d5b136806676caa400627b65d23fec26fb11", + "804ca88ebbaf21ec9a266db6016aae163edf52ba", [ "webnn/conformance_tests/quantizeLinear.https.any.html?cpu", { @@ -812030,6 +813779,225 @@ } ] ], + "reverse.https.any.js": [ + "5abc9a03b52c284053e9de79b989596ebd53e7e7", + [ + "webnn/conformance_tests/reverse.https.any.html?cpu", + { + "script_metadata": [ + [ + "title", + "test WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/reverse.https.any.html?gpu", + { + "script_metadata": [ + [ + "title", + "test WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/reverse.https.any.html?npu", + { + "script_metadata": [ + [ + "title", + "test WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/reverse.https.any.worker.html?cpu", + { + "script_metadata": [ + [ + "title", + "test WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/reverse.https.any.worker.html?gpu", + { + "script_metadata": [ + [ + "title", + "test WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/reverse.https.any.worker.html?npu", + { + "script_metadata": [ + [ + "title", + "test WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "scalars.https.any.js": [ "7cb3ceeff7f9975f893c062239c0c9d334fe1e6b", [ @@ -825663,6 +827631,195 @@ } ] ], + "reverse.https.any.js": [ + "bee8f2c63de74110e04f5c7b340c356777715c86", + [ + "webnn/validation_tests/reverse.https.any.html?cpu", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils_validation.js" + ] + ] + } + ], + [ + "webnn/validation_tests/reverse.https.any.html?gpu", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils_validation.js" + ] + ] + } + ], + [ + "webnn/validation_tests/reverse.https.any.html?npu", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils_validation.js" + ] + ] + } + ], + [ + "webnn/validation_tests/reverse.https.any.worker.html?cpu", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils_validation.js" + ] + ] + } + ], + [ + "webnn/validation_tests/reverse.https.any.worker.html?gpu", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils_validation.js" + ] + ] + } + ], + [ + "webnn/validation_tests/reverse.https.any.worker.html?npu", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API reverse operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "variant", + "?cpu" + ], + [ + "variant", + "?gpu" + ], + [ + "variant", + "?npu" + ], + [ + "script", + "../resources/utils_validation.js" + ] + ] + } + ] + ], "scatterElements.https.any.js": [ "39e99ddfdfc7f6a0b37bd0b5ca1f3bc2df04b708", [ @@ -829673,7 +831830,7 @@ ], "simulcast": { "basic.https.html": [ - "f7b9def7622f8f89d62bbc03924da41bf86590f9", + "46c0969a405b5e7b51bd63d01824abdb2342ce10", [ null, { @@ -829683,7 +831840,7 @@ ] ], "getStats.https.html": [ - "b5a9e6eb28307ccb222adaf63d28f609020edf9c", + "91d9ab00d874dfd200e21d9be45bf187b623da69", [ null, { @@ -829693,7 +831850,7 @@ ] ], "h264.https.html": [ - "038449aa6e7fe76125c427684b1e3cd667d13c17", + "2d27b963a69ee4702138bf5eb81674f416edb8a8", [ null, { @@ -829722,8 +831879,18 @@ } ] ], + "screenshare.https.html": [ + "5a40d8cba48dec6f08c541ffc22aeb013a9d3402", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ], "setParameters-active.https.html": [ - "54191059a0628a50eb96f1b631b5ce4e1fabaf23", + "894014b1912a0c83acec889e927fe0fd6e86c033", [ null, { @@ -829752,7 +831919,7 @@ ] ], "vp8.https.html": [ - "3d04bc71726e719dbed700cfc72d301924b73030", + "9e0a8085df21ed779ca7b4b504afe6ed6e07e946", [ null, { @@ -829762,7 +831929,7 @@ ] ], "vp9-scalability-mode.https.html": [ - "8d8f974fcdcb6ec641df5d931dc5f7fac35228d3", + "1c2d48c5dc417be7559de0e7911b6a4a049ab354", [ null, { @@ -829772,7 +831939,7 @@ ] ], "vp9.https.html": [ - "a033dab4779684da859bb8a1e4306de50668b88e", + "d366120b6e84b92c1221089a89121d84af8cf08c", [ null, { @@ -875346,7 +877513,7 @@ }, "dom_content_loaded": { "dom_content_loaded.py": [ - "b426724da538001db20d3e5d0b7e24e7182b107d", + "6cef36ca932aa7445cf8a5f7179571d20253de8b", [ null, {} @@ -875426,7 +877593,7 @@ }, "load": { "load.py": [ - "0dcada337792247771eaf0e856ac9097580508ff", + "92148721874588a99fb2ba024955530c7c0d576e", [ null, {} @@ -875553,14 +877720,7 @@ }, "navigation_started": { "navigation_started.py": [ - "effb359250b41c31267bd1942a3ca89542995608", - [ - null, - {} - ] - ], - "navigation_started_initial_navigation_tentative.py": [ - "87b18a8b9090cce6ad79a2cc813ffe2e958096e8", + "599708a5de8e49fd865f4bcfb6c2d742b703b90b", [ null, {} @@ -876868,7 +879028,7 @@ ] ], "events.py": [ - "f9d5d6bc21b731045403ffe94c3a4ac97e42397c", + "fcd325648c251cc2e363f51c5be042bfe0494401", [ null, {} @@ -876891,7 +879051,7 @@ ] ], "events.py": [ - "bd7d064847062af5c5eb109c0284242bf37d4b8e", + "ecf8364a45503d4c6d4d6b8035ebcb593984579c", [ null, {} diff --git a/tests/wpt/meta/console/console-is-a-namespace.any.js.ini b/tests/wpt/meta/console/console-is-a-namespace.any.js.ini index 00a9fa74cec..098241898a3 100644 --- a/tests/wpt/meta/console/console-is-a-namespace.any.js.ini +++ b/tests/wpt/meta/console/console-is-a-namespace.any.js.ini @@ -1,2 +1,6 @@ [console-is-a-namespace.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT + +[console-is-a-namespace.any.worker.html] + +[console-is-a-namespace.any.html] diff --git a/tests/wpt/meta/console/console-label-conversion.any.js.ini b/tests/wpt/meta/console/console-label-conversion.any.js.ini new file mode 100644 index 00000000000..5284cde3f23 --- /dev/null +++ b/tests/wpt/meta/console/console-label-conversion.any.js.ini @@ -0,0 +1,6 @@ +[console-label-conversion.any.shadowrealm.html] + expected: TIMEOUT + +[console-label-conversion.any.worker.html] + +[console-label-conversion.any.html] diff --git a/tests/wpt/meta/console/console-log-large-array.any.js.ini b/tests/wpt/meta/console/console-log-large-array.any.js.ini index 75ce6bebf1f..1f171e28a9f 100644 --- a/tests/wpt/meta/console/console-log-large-array.any.js.ini +++ b/tests/wpt/meta/console/console-log-large-array.any.js.ini @@ -1,6 +1,6 @@ [console-log-large-array.any.worker.html] [console-log-large-array.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [console-log-large-array.any.html] diff --git a/tests/wpt/meta/console/console-log-symbol.any.js.ini b/tests/wpt/meta/console/console-log-symbol.any.js.ini index 65f31e91ce9..b03be350c95 100644 --- a/tests/wpt/meta/console/console-log-symbol.any.js.ini +++ b/tests/wpt/meta/console/console-log-symbol.any.js.ini @@ -1,5 +1,5 @@ [console-log-symbol.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [console-log-symbol.any.html] diff --git a/tests/wpt/meta/console/console-namespace-object-class-string.any.js.ini b/tests/wpt/meta/console/console-namespace-object-class-string.any.js.ini index 95598614104..850204515b6 100644 --- a/tests/wpt/meta/console/console-namespace-object-class-string.any.js.ini +++ b/tests/wpt/meta/console/console-namespace-object-class-string.any.js.ini @@ -24,3 +24,7 @@ [Object.prototype.toString applied after deleting @@toStringTag] expected: FAIL + + +[console-namespace-object-class-string.any.shadowrealm.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/console/console-tests-historical.any.js.ini b/tests/wpt/meta/console/console-tests-historical.any.js.ini index 0a78ce4ab9a..42e41d2ca45 100644 --- a/tests/wpt/meta/console/console-tests-historical.any.js.ini +++ b/tests/wpt/meta/console/console-tests-historical.any.js.ini @@ -1,6 +1,6 @@ [console-tests-historical.any.worker.html] [console-tests-historical.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [console-tests-historical.any.html] diff --git a/tests/wpt/meta/css/css-cascade/scope-declarations.html.ini b/tests/wpt/meta/css/css-cascade/scope-declarations.html.ini new file mode 100644 index 00000000000..938a8e6223d --- /dev/null +++ b/tests/wpt/meta/css/css-cascade/scope-declarations.html.ini @@ -0,0 +1,15 @@ +[scope-declarations.html] + [Scoped declarations apply to the scoping root] + expected: FAIL + + [Scoped declarations apply to implicit scoping root] + expected: FAIL + + [Scoped declarations apply with zero specificity] + expected: FAIL + + [Declarations are parsed into CSSNestedDeclarations, prelude=(.a)] + expected: FAIL + + [Declarations are parsed into CSSNestedDeclarations, prelude=] + expected: FAIL diff --git a/tests/wpt/meta/css/css-cascade/scope-implicit.html.ini b/tests/wpt/meta/css/css-cascade/scope-implicit.html.ini index fe871685f90..f7d9a8ab911 100644 --- a/tests/wpt/meta/css/css-cascade/scope-implicit.html.ini +++ b/tests/wpt/meta/css/css-cascade/scope-implicit.html.ini @@ -19,3 +19,6 @@ [Proximity calculation of multiple implicit @scope] expected: FAIL + + [Implicit @scope sandwiched between non-implicit scopes] + expected: FAIL diff --git a/tests/wpt/meta/css/css-cascade/scope-shadow.html.ini b/tests/wpt/meta/css/css-cascade/scope-shadow.html.ini index 45532a6b577..d0c4d34c84b 100644 --- a/tests/wpt/meta/css/css-cascade/scope-shadow.html.ini +++ b/tests/wpt/meta/css/css-cascade/scope-shadow.html.ini @@ -16,3 +16,12 @@ [Implicit @scope in construted stylesheet] expected: FAIL + + [Matching :host via &, :scope (subject)] + expected: FAIL + + [Matching :host via &, :scope (non-subject)] + expected: FAIL + + [Matching :host via &, :scope (non-subject, >)] + expected: FAIL diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html.ini deleted file mode 100644 index 72f4601118a..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[at-container-overflowing-parsing.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html.ini deleted file mode 100644 index 18c1abafcc7..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[at-container-overflowing-serialization.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html.ini new file mode 100644 index 00000000000..9add770ca15 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html.ini @@ -0,0 +1,2 @@ +[at-container-scrollable-parsing.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html.ini new file mode 100644 index 00000000000..a1488c187b9 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html.ini @@ -0,0 +1,2 @@ +[at-container-scrollable-serialization.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html.ini deleted file mode 100644 index a68b451ba16..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-initially-overflowing.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html.ini new file mode 100644 index 00000000000..431317c924c --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html.ini @@ -0,0 +1,2 @@ +[scroll-state-initially-scrollable.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html.ini deleted file mode 100644 index b7b53344b47..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-change.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html.ini deleted file mode 100644 index 7a375c77c3e..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-container-type-change.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html.ini deleted file mode 100644 index 9f23e652587..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-layout-change.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html.ini deleted file mode 100644 index 27cb88702ca..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-pseudo.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html.ini deleted file mode 100644 index 43378a2c38f..00000000000 --- a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[scroll-state-overflowing-wm.html] - expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html.ini new file mode 100644 index 00000000000..3971672edcf --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-axis.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html.ini new file mode 100644 index 00000000000..30d3b51d803 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-change.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html.ini new file mode 100644 index 00000000000..a8abe392bbe --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-container-type-change.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html.ini new file mode 100644 index 00000000000..71a36d00018 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-layout-change.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html.ini new file mode 100644 index 00000000000..930796e3859 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-pseudo.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html.ini new file mode 100644 index 00000000000..a4f0e4df283 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html.ini @@ -0,0 +1,2 @@ +[scroll-state-scrollable-wm.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html.ini new file mode 100644 index 00000000000..8fc62494a41 --- /dev/null +++ b/tests/wpt/meta/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html.ini @@ -0,0 +1,2 @@ +[scroll-state-snapped-both.html] + expected: ERROR diff --git a/tests/wpt/meta/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html.ini b/tests/wpt/meta/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html.ini new file mode 100644 index 00000000000..5580c3bb2ee --- /dev/null +++ b/tests/wpt/meta/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html.ini @@ -0,0 +1,24 @@ +[gap-decorations-width-computed.html] + [Property column-rule-width value 'calc(10px + 0.5em)'] + expected: FAIL + + [Property column-rule-width value 'calc(10px - 0.5em)'] + expected: FAIL + + [Property column-rule-width value '2px 4px 6px'] + expected: FAIL + + [Property column-rule-width value 'repeat(4, 2px)'] + expected: FAIL + + [Property column-rule-width value 'repeat(auto, 10px)'] + expected: FAIL + + [Property column-rule-width value 'repeat(calc(5 + 3), 10px)'] + expected: FAIL + + [Property column-rule-width value 'repeat(5, 10px calc(10px + 0.5em))'] + expected: FAIL + + [Property column-rule-width value 'repeat(auto, min(5px, 10px)) repeat(5, 10px) calc(10px + 0.5em)'] + expected: FAIL diff --git a/tests/wpt/meta/css/css-lists/nested-marker-styling.html.ini b/tests/wpt/meta/css/css-lists/nested-marker-styling.html.ini new file mode 100644 index 00000000000..2e666ec9817 --- /dev/null +++ b/tests/wpt/meta/css/css-lists/nested-marker-styling.html.ini @@ -0,0 +1,2 @@ +[nested-marker-styling.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini b/tests/wpt/meta/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini index e06425a5209..f7904aad447 100644 --- a/tests/wpt/meta/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini +++ b/tests/wpt/meta/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini @@ -16,3 +16,21 @@ ["::part(foo)::check" should be a valid selector] expected: FAIL + + ["::checkmark" should be a valid selector] + expected: FAIL + + ["*::checkmark" should be a valid selector] + expected: FAIL + + ["foo.bar[baz\]::checkmark" should be a valid selector] + expected: FAIL + + ["::checkmark::marker" should be a valid selector] + expected: FAIL + + ["::slotted(*)::checkmark" should be a valid selector] + expected: FAIL + + ["::part(foo)::checkmark" should be a valid selector] + expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/pseudo-replaced-elements.html.ini b/tests/wpt/meta/css/css-pseudo/pseudo-replaced-elements.html.ini new file mode 100644 index 00000000000..b8243a4a894 --- /dev/null +++ b/tests/wpt/meta/css/css-pseudo/pseudo-replaced-elements.html.ini @@ -0,0 +1,31 @@ +[pseudo-replaced-elements.html] + expected: ERROR + [INPUT text] + expected: FAIL + + [INPUT date] + expected: FAIL + + [INPUT time] + expected: FAIL + + [INPUT datetime-local] + expected: FAIL + + [INPUT checkbox] + expected: FAIL + + [INPUT radio] + expected: FAIL + + [INPUT file] + expected: FAIL + + [INPUT range] + expected: FAIL + + [INPUT color] + expected: FAIL + + [INPUT search] + expected: FAIL diff --git a/tests/wpt/meta/css/css-sizing/intrinsic-percent-replaced-026.html.ini b/tests/wpt/meta/css/css-sizing/intrinsic-percent-replaced-026.html.ini new file mode 100644 index 00000000000..9073aa603c4 --- /dev/null +++ b/tests/wpt/meta/css/css-sizing/intrinsic-percent-replaced-026.html.ini @@ -0,0 +1,2 @@ +[intrinsic-percent-replaced-026.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-transforms/scale-animation-with-var-001.html.ini b/tests/wpt/meta/css/css-transforms/scale-animation-with-var-001.html.ini new file mode 100644 index 00000000000..fbf0a6afbd1 --- /dev/null +++ b/tests/wpt/meta/css/css-transforms/scale-animation-with-var-001.html.ini @@ -0,0 +1,2 @@ +[scale-animation-with-var-001.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/attr-security.html.ini b/tests/wpt/meta/css/css-values/attr-security.html.ini index 92b5651ec48..dcb316655b9 100644 --- a/tests/wpt/meta/css/css-values/attr-security.html.ini +++ b/tests/wpt/meta/css/css-values/attr-security.html.ini @@ -17,23 +17,23 @@ [CSS Values and Units Test: attr() security limitations 9] expected: FAIL - [CSS Values and Units Test: attr() security limitations 11] + [CSS Values and Units Test: attr() security limitations 15] expected: FAIL - [CSS Values and Units Test: attr() security limitations 12] + [CSS Values and Units Test: attr() security limitations 10] expected: FAIL - [CSS Values and Units Test: attr() security limitations 14] + [CSS Values and Units Test: attr() security limitations 13] expected: FAIL - [CSS Values and Units Test: attr() security limitations 15] + [CSS Values and Units Test: attr() security limitations 16] expected: FAIL - [CSS Values and Units Test: attr() security limitations 17] + [CSS Values and Units Test: attr() security limitations 18] expected: FAIL - [CSS Values and Units Test: attr() security limitations 19] + [CSS Values and Units Test: attr() security limitations 20] expected: FAIL - [CSS Values and Units Test: attr() security limitations 21] + [CSS Values and Units Test: attr() security limitations 22] expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-sibling-function-parsing.html.ini b/tests/wpt/meta/css/css-values/calc-sibling-function-parsing.html.ini new file mode 100644 index 00000000000..6b15ad93bf7 --- /dev/null +++ b/tests/wpt/meta/css/css-values/calc-sibling-function-parsing.html.ini @@ -0,0 +1,18 @@ +[calc-sibling-function-parsing.html] + [e.style['left'\] = "calc(1px * sibling-index())" should set the property value] + expected: FAIL + + [e.style['left'\] = "calc(1px * sibling-index( ))" should set the property value] + expected: FAIL + + [e.style['z-index'\] = "sibling-index()" should set the property value] + expected: FAIL + + [e.style['left'\] = "calc(1px * sibling-count())" should set the property value] + expected: FAIL + + [e.style['left'\] = "calc(1px * sibling-count( ))" should set the property value] + expected: FAIL + + [e.style['z-index'\] = "sibling-count()" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-sibling-function.html.ini b/tests/wpt/meta/css/css-values/calc-sibling-function.html.ini new file mode 100644 index 00000000000..3cb1b256ac1 --- /dev/null +++ b/tests/wpt/meta/css/css-values/calc-sibling-function.html.ini @@ -0,0 +1,9 @@ +[calc-sibling-function.html] + [basic sibling-index() test] + expected: FAIL + + [basic sibling-count() test] + expected: FAIL + + [sibling-index() in calc() with percentage] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini index 3c23c23b88a..6271b2090f2 100644 --- a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini +++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-interpolation.html.ini @@ -1,2 +1,252 @@ [interpolate-size-interpolation.html] - expected: ERROR + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [allow-keywords\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [allow-keywords\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [numeric-only\] to [allow-keywords\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-behavior:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Transitions with transition: all: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [CSS Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (-0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.3) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.5) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (0.6) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1) should be [numeric-only\]] + expected: FAIL + + [Web Animations: property <interpolate-size> from [allow-keywords\] to [numeric-only\] at (1.5) should be [numeric-only\]] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini deleted file mode 100644 index 26435e28b09..00000000000 --- a/tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[vh_not_refreshing_on_chrome.html] - expected: FAIL diff --git a/tests/wpt/meta/dom/abort/AbortSignal.any.js.ini b/tests/wpt/meta/dom/abort/AbortSignal.any.js.ini index 5c57b72c1c3..51161991c3f 100644 --- a/tests/wpt/meta/dom/abort/AbortSignal.any.js.ini +++ b/tests/wpt/meta/dom/abort/AbortSignal.any.js.ini @@ -33,4 +33,4 @@ [AbortSignal.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/dom/abort/event.any.js.ini b/tests/wpt/meta/dom/abort/event.any.js.ini index 7641e92134c..fb5664224b9 100644 --- a/tests/wpt/meta/dom/abort/event.any.js.ini +++ b/tests/wpt/meta/dom/abort/event.any.js.ini @@ -99,4 +99,4 @@ [event.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/dom/abort/timeout-shadowrealm.any.js.ini b/tests/wpt/meta/dom/abort/timeout-shadowrealm.any.js.ini index 2a8e04706a9..955936d39cd 100644 --- a/tests/wpt/meta/dom/abort/timeout-shadowrealm.any.js.ini +++ b/tests/wpt/meta/dom/abort/timeout-shadowrealm.any.js.ini @@ -1,2 +1,2 @@ [timeout-shadowrealm.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini b/tests/wpt/meta/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini index 03890f8d54a..b05b39d77ea 100644 --- a/tests/wpt/meta/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini +++ b/tests/wpt/meta/dom/nodes/moveBefore/tentative/Node-moveBefore.html.ini @@ -130,3 +130,15 @@ [moveBefore with reference child whose parent is NOT the destination parent (context node) throws a NotFoundError.] expected: FAIL + + [Moving a node from a disconnected container to a disconnected new parent succeeds] + expected: FAIL + + [Moving a node from disconnected->connected throws a HIERARCHY_REQUEST_ERR] + expected: FAIL + + [Moving a node from connected->disconnected throws a HIERARCHY_REQUEST_ERR] + expected: FAIL + + [No custom element callbacks are run during disconnected moveBefore()] + expected: FAIL diff --git a/tests/wpt/meta/dom/nodes/moveBefore/tentative/live-range-updates.html.ini b/tests/wpt/meta/dom/nodes/moveBefore/tentative/live-range-updates.html.ini index 1e3f9258fb0..72e0d48543e 100644 --- a/tests/wpt/meta/dom/nodes/moveBefore/tentative/live-range-updates.html.ini +++ b/tests/wpt/meta/dom/nodes/moveBefore/tentative/live-range-updates.html.ini @@ -7,3 +7,12 @@ [moveBefore does not cause range endContainer to snap up to parent, when endContainer ancestor is moved] expected: FAIL + + [moveBefore still results in range startContainer snapping up to parent when startContainer is moved] + expected: FAIL + + [moveBefore still causes range startContainer to snap up to parent, when startContainer ancestor is moved] + expected: FAIL + + [moveBefore still causes range endContainer to snap up to parent, when endContainer ancestor is moved] + expected: FAIL diff --git a/tests/wpt/meta/encoding/api-basics.any.js.ini b/tests/wpt/meta/encoding/api-basics.any.js.ini index 81e89c26d43..efe540824a3 100644 --- a/tests/wpt/meta/encoding/api-basics.any.js.ini +++ b/tests/wpt/meta/encoding/api-basics.any.js.ini @@ -3,4 +3,4 @@ [api-basics.any.worker.html] [api-basics.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/api-surrogates-utf8.any.js.ini b/tests/wpt/meta/encoding/api-surrogates-utf8.any.js.ini index 60499a3c040..fd0c080012f 100644 --- a/tests/wpt/meta/encoding/api-surrogates-utf8.any.js.ini +++ b/tests/wpt/meta/encoding/api-surrogates-utf8.any.js.ini @@ -1,5 +1,5 @@ [api-surrogates-utf8.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [api-surrogates-utf8.any.worker.html] diff --git a/tests/wpt/meta/encoding/iso-2022-jp-decoder.any.js.ini b/tests/wpt/meta/encoding/iso-2022-jp-decoder.any.js.ini index aeafa9ce3f3..b4d2615f7b1 100644 --- a/tests/wpt/meta/encoding/iso-2022-jp-decoder.any.js.ini +++ b/tests/wpt/meta/encoding/iso-2022-jp-decoder.any.js.ini @@ -1,5 +1,5 @@ [iso-2022-jp-decoder.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [iso-2022-jp-decoder.any.worker.html] diff --git a/tests/wpt/meta/encoding/streams/backpressure.any.js.ini b/tests/wpt/meta/encoding/streams/backpressure.any.js.ini index adb7e8f5736..c4dbaefc8ff 100644 --- a/tests/wpt/meta/encoding/streams/backpressure.any.js.ini +++ b/tests/wpt/meta/encoding/streams/backpressure.any.js.ini @@ -33,4 +33,4 @@ [backpressure.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/streams/decode-attributes.any.js.ini b/tests/wpt/meta/encoding/streams/decode-attributes.any.js.ini index 683e2569481..103c4d5e6e4 100644 --- a/tests/wpt/meta/encoding/streams/decode-attributes.any.js.ini +++ b/tests/wpt/meta/encoding/streams/decode-attributes.any.js.ini @@ -177,4 +177,4 @@ [decode-attributes.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/streams/decode-bad-chunks.any.js.ini b/tests/wpt/meta/encoding/streams/decode-bad-chunks.any.js.ini index 8b804dc5b5f..df4fcd41180 100644 --- a/tests/wpt/meta/encoding/streams/decode-bad-chunks.any.js.ini +++ b/tests/wpt/meta/encoding/streams/decode-bad-chunks.any.js.ini @@ -39,4 +39,4 @@ expected: ERROR [decode-bad-chunks.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/streams/decode-non-utf8.any.js.ini b/tests/wpt/meta/encoding/streams/decode-non-utf8.any.js.ini index 830caa3590c..583c16aba55 100644 --- a/tests/wpt/meta/encoding/streams/decode-non-utf8.any.js.ini +++ b/tests/wpt/meta/encoding/streams/decode-non-utf8.any.js.ini @@ -87,4 +87,4 @@ expected: ERROR [decode-non-utf8.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/streams/readable-writable-properties.any.js.ini b/tests/wpt/meta/encoding/streams/readable-writable-properties.any.js.ini index 8bf60886a1e..fb7733262f9 100644 --- a/tests/wpt/meta/encoding/streams/readable-writable-properties.any.js.ini +++ b/tests/wpt/meta/encoding/streams/readable-writable-properties.any.js.ini @@ -21,4 +21,4 @@ [readable-writable-properties.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/textdecoder-arguments.any.js.ini b/tests/wpt/meta/encoding/textdecoder-arguments.any.js.ini index 54c4964bd79..e64c8ceaae5 100644 --- a/tests/wpt/meta/encoding/textdecoder-arguments.any.js.ini +++ b/tests/wpt/meta/encoding/textdecoder-arguments.any.js.ini @@ -3,4 +3,4 @@ [textdecoder-arguments.any.worker.html] [textdecoder-arguments.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/encoding/textdecoder-byte-order-marks.any.js.ini b/tests/wpt/meta/encoding/textdecoder-byte-order-marks.any.js.ini index fd19c9c3453..c2ee7261a1b 100644 --- a/tests/wpt/meta/encoding/textdecoder-byte-order-marks.any.js.ini +++ b/tests/wpt/meta/encoding/textdecoder-byte-order-marks.any.js.ini @@ -1,5 +1,5 @@ [textdecoder-byte-order-marks.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textdecoder-byte-order-marks.any.html] diff --git a/tests/wpt/meta/encoding/textdecoder-fatal-streaming.any.js.ini b/tests/wpt/meta/encoding/textdecoder-fatal-streaming.any.js.ini index f529609ed9e..5cb5084deb8 100644 --- a/tests/wpt/meta/encoding/textdecoder-fatal-streaming.any.js.ini +++ b/tests/wpt/meta/encoding/textdecoder-fatal-streaming.any.js.ini @@ -1,5 +1,5 @@ [textdecoder-fatal-streaming.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textdecoder-fatal-streaming.any.worker.html] diff --git a/tests/wpt/meta/encoding/textdecoder-fatal.any.js.ini b/tests/wpt/meta/encoding/textdecoder-fatal.any.js.ini index 4b75f73496a..fe3f3189319 100644 --- a/tests/wpt/meta/encoding/textdecoder-fatal.any.js.ini +++ b/tests/wpt/meta/encoding/textdecoder-fatal.any.js.ini @@ -1,5 +1,5 @@ [textdecoder-fatal.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textdecoder-fatal.any.html] diff --git a/tests/wpt/meta/encoding/textdecoder-ignorebom.any.js.ini b/tests/wpt/meta/encoding/textdecoder-ignorebom.any.js.ini index d56d51737b0..119d3094eae 100644 --- a/tests/wpt/meta/encoding/textdecoder-ignorebom.any.js.ini +++ b/tests/wpt/meta/encoding/textdecoder-ignorebom.any.js.ini @@ -1,6 +1,6 @@ [textdecoder-ignorebom.any.worker.html] [textdecoder-ignorebom.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textdecoder-ignorebom.any.html] diff --git a/tests/wpt/meta/encoding/textdecoder-utf16-surrogates.any.js.ini b/tests/wpt/meta/encoding/textdecoder-utf16-surrogates.any.js.ini index 04a81b31b72..6d866091daa 100644 --- a/tests/wpt/meta/encoding/textdecoder-utf16-surrogates.any.js.ini +++ b/tests/wpt/meta/encoding/textdecoder-utf16-surrogates.any.js.ini @@ -1,6 +1,6 @@ [textdecoder-utf16-surrogates.any.worker.html] [textdecoder-utf16-surrogates.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [textdecoder-utf16-surrogates.any.html] diff --git a/tests/wpt/meta/encoding/textencoder-utf16-surrogates.any.js.ini b/tests/wpt/meta/encoding/textencoder-utf16-surrogates.any.js.ini index 2b27123fc41..0546a6ccf6b 100644 --- a/tests/wpt/meta/encoding/textencoder-utf16-surrogates.any.js.ini +++ b/tests/wpt/meta/encoding/textencoder-utf16-surrogates.any.js.ini @@ -3,4 +3,4 @@ [textencoder-utf16-surrogates.any.html] [textencoder-utf16-surrogates.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini index 398d85489f2..c378d2ecb29 100644 --- a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini +++ b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini @@ -1,7 +1,7 @@ [load-pageshow-events-iframe-contentWindow.html] [load & pageshow event do not fire on contentWindow of <iframe> element created with no src] expected: FAIL - + [load & pageshow events do not fire on contentWindow of <iframe> element created with src=''] expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini new file mode 100644 index 00000000000..7dc346632a4 --- /dev/null +++ b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini @@ -0,0 +1,3 @@ +[navigation-unload-same-origin.window.html] + [Same-origin navigation started from unload handler must be ignored] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini index 7e036a1c4e4..5d2657041d1 100644 --- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini @@ -1,5 +1,5 @@ [createImageBitmap-transfer.html] - expected: TIMEOUT + expected: ERROR [Transfer ImageBitmap created from a vector HTMLImageElement] expected: FAIL diff --git a/tests/wpt/meta/html/dom/idlharness.https.html.ini b/tests/wpt/meta/html/dom/idlharness.https.html.ini index 180782c8a47..82cc0be8c16 100644 --- a/tests/wpt/meta/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta/html/dom/idlharness.https.html.ini @@ -8271,3 +8271,21 @@ [HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type] expected: FAIL + + [HTMLElement interface: operation showPopover(optional ShowPopoverOptions)] + expected: FAIL + + [HTMLElement interface: operation togglePopover(optional (TogglePopoverOptions or boolean))] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "showPopover(optional ShowPopoverOptions)" with the proper type] + expected: FAIL + + [HTMLElement interface: calling showPopover(optional ShowPopoverOptions) on document.createElement("noscript") with too few arguments must throw TypeError] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "togglePopover(optional (TogglePopoverOptions or boolean))" with the proper type] + expected: FAIL + + [HTMLElement interface: calling togglePopover(optional (TogglePopoverOptions or boolean)) on document.createElement("noscript") with too few arguments must throw TypeError] + expected: FAIL diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index 7df8f9458e9..68203d2a082 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_escaping-2.html] expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index 90c8bd71ded..c6f1e5d7d84 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_nonescaping-2.html] - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-img-element/non-active-document.html.ini new file mode 100644 index 00000000000..47b45e65a1c --- /dev/null +++ b/tests/wpt/meta/html/semantics/embedded-content/the-img-element/non-active-document.html.ini @@ -0,0 +1,9 @@ +[non-active-document.html] + [DOMParser] + expected: FAIL + + [createHTMLDocument] + expected: FAIL + + [<template>] + expected: FAIL diff --git a/tests/wpt/meta/html/semantics/popovers/imperative-invokers.tentative.html.ini b/tests/wpt/meta/html/semantics/popovers/imperative-invokers.html.ini index f284dad761d..7bc21545333 100644 --- a/tests/wpt/meta/html/semantics/popovers/imperative-invokers.tentative.html.ini +++ b/tests/wpt/meta/html/semantics/popovers/imperative-invokers.html.ini @@ -1,4 +1,4 @@ -[imperative-invokers.tentative.html] +[imperative-invokers.html] expected: ERROR [normal opening] expected: FAIL diff --git a/tests/wpt/meta/html/semantics/popovers/popover-nested-in-button.html.ini b/tests/wpt/meta/html/semantics/popovers/popover-nested-in-button.html.ini new file mode 100644 index 00000000000..98dcb783d22 --- /dev/null +++ b/tests/wpt/meta/html/semantics/popovers/popover-nested-in-button.html.ini @@ -0,0 +1,9 @@ +[popover-nested-in-button.html] + [clicking a popover nested inside a button should not re-invoke the popover] + expected: FAIL + + [corner case: invoker that is also a popover] + expected: FAIL + + [invoker inside popover still works, even with weird nesting] + expected: FAIL diff --git a/tests/wpt/meta/html/webappapis/atob/base64.any.js.ini b/tests/wpt/meta/html/webappapis/atob/base64.any.js.ini new file mode 100644 index 00000000000..c6193a53e99 --- /dev/null +++ b/tests/wpt/meta/html/webappapis/atob/base64.any.js.ini @@ -0,0 +1,6 @@ +[base64.any.shadowrealm.html] + expected: TIMEOUT + +[base64.any.worker.html] + +[base64.any.html] diff --git a/tests/wpt/meta/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini b/tests/wpt/meta/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini index e47d5cad181..4da262a3748 100644 --- a/tests/wpt/meta/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini +++ b/tests/wpt/meta/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html.ini @@ -1,5 +1,4 @@ [Selection-getComposedRanges-dom-mutations-removal.html?mode=open] - expected: OK [Range is fully in shadow tree. Removing shadow host collapses composed StaticRange. Note it does not update previously returned composed StaticRange.] expected: FAIL @@ -15,9 +14,11 @@ [Range is between two light slotted contents. Removing start container rescopes to its parent in light tree.] expected: FAIL + [Range is across shadow trees. Removing ancestor shadow host rescopes composed range end to parent.] + expected: FAIL + [Selection-getComposedRanges-dom-mutations-removal.html?mode=closed] - expected: OK [Range is fully in shadow tree. Removing shadow host collapses composed StaticRange. Note it does not update previously returned composed StaticRange.] expected: FAIL @@ -32,3 +33,6 @@ [Range is between two light slotted contents. Removing start container rescopes to its parent in light tree.] expected: FAIL + + [Range is across shadow trees. Removing ancestor shadow host rescopes composed range end to parent.] + expected: FAIL diff --git a/tests/wpt/meta/streams/readable-streams/async-iterator.any.js.ini b/tests/wpt/meta/streams/readable-streams/async-iterator.any.js.ini index d2a39d72425..365605819f4 100644 --- a/tests/wpt/meta/streams/readable-streams/async-iterator.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/async-iterator.any.js.ini @@ -255,4 +255,4 @@ [async-iterator.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/bad-strategies.any.js.ini b/tests/wpt/meta/streams/readable-streams/bad-strategies.any.js.ini index 68d7bbfeb5a..d1115f655f1 100644 --- a/tests/wpt/meta/streams/readable-streams/bad-strategies.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/bad-strategies.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [bad-strategies.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/bad-underlying-sources.any.js.ini b/tests/wpt/meta/streams/readable-streams/bad-underlying-sources.any.js.ini index 352f69f52f2..a00a51fb267 100644 --- a/tests/wpt/meta/streams/readable-streams/bad-underlying-sources.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/bad-underlying-sources.any.js.ini @@ -9,4 +9,4 @@ [bad-underlying-sources.any.worker.html] [bad-underlying-sources.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/cancel.any.js.ini b/tests/wpt/meta/streams/readable-streams/cancel.any.js.ini index 4f5ce48851c..7b6abfca2b6 100644 --- a/tests/wpt/meta/streams/readable-streams/cancel.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/cancel.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [cancel.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/constructor.any.js.ini b/tests/wpt/meta/streams/readable-streams/constructor.any.js.ini index bb53217b504..b6f5b88828c 100644 --- a/tests/wpt/meta/streams/readable-streams/constructor.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/constructor.any.js.ini @@ -9,4 +9,4 @@ [constructor.any.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/count-queuing-strategy-integration.any.js.ini b/tests/wpt/meta/streams/readable-streams/count-queuing-strategy-integration.any.js.ini index 3f47d0b2d4a..5a643e955a4 100644 --- a/tests/wpt/meta/streams/readable-streams/count-queuing-strategy-integration.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/count-queuing-strategy-integration.any.js.ini @@ -9,4 +9,4 @@ [count-queuing-strategy-integration.any.html] [count-queuing-strategy-integration.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/default-reader.any.js.ini b/tests/wpt/meta/streams/readable-streams/default-reader.any.js.ini index ab392a349cb..6ab35c4593a 100644 --- a/tests/wpt/meta/streams/readable-streams/default-reader.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/default-reader.any.js.ini @@ -57,4 +57,4 @@ [default-reader.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini b/tests/wpt/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini index 93190332da4..4d01b3ac553 100644 --- a/tests/wpt/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [floating-point-total-queue-size.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/from.any.js.ini b/tests/wpt/meta/streams/readable-streams/from.any.js.ini index 732613ecb99..565798fbfef 100644 --- a/tests/wpt/meta/streams/readable-streams/from.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/from.any.js.ini @@ -177,4 +177,4 @@ [from.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/garbage-collection.any.js.ini b/tests/wpt/meta/streams/readable-streams/garbage-collection.any.js.ini index c4c2c7a3ddc..087d01a5b04 100644 --- a/tests/wpt/meta/streams/readable-streams/garbage-collection.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/garbage-collection.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [garbage-collection.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/general.any.js.ini b/tests/wpt/meta/streams/readable-streams/general.any.js.ini index 5d9c24f451b..e310f7640d7 100644 --- a/tests/wpt/meta/streams/readable-streams/general.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/general.any.js.ini @@ -21,4 +21,4 @@ [general.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/owning-type-message-port.any.js.ini b/tests/wpt/meta/streams/readable-streams/owning-type-message-port.any.js.ini index c8fd0e2cc57..b17463027de 100644 --- a/tests/wpt/meta/streams/readable-streams/owning-type-message-port.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/owning-type-message-port.any.js.ini @@ -21,4 +21,4 @@ [owning-type-message-port.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/owning-type.any.js.ini b/tests/wpt/meta/streams/readable-streams/owning-type.any.js.ini index 6d9fb8b9411..ee56a53b003 100644 --- a/tests/wpt/meta/streams/readable-streams/owning-type.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/owning-type.any.js.ini @@ -39,4 +39,4 @@ [owning-type.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/patched-global.any.js.ini b/tests/wpt/meta/streams/readable-streams/patched-global.any.js.ini index 9ae14871b98..b5fe4d8d27c 100644 --- a/tests/wpt/meta/streams/readable-streams/patched-global.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/patched-global.any.js.ini @@ -21,4 +21,4 @@ [patched-global.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/reentrant-strategies.any.js.ini b/tests/wpt/meta/streams/readable-streams/reentrant-strategies.any.js.ini index 0263c9f8705..572d907f9ba 100644 --- a/tests/wpt/meta/streams/readable-streams/reentrant-strategies.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/reentrant-strategies.any.js.ini @@ -15,4 +15,4 @@ [reentrant-strategies.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/tee.any.js.ini b/tests/wpt/meta/streams/readable-streams/tee.any.js.ini index 983ead19dbe..1d168be6725 100644 --- a/tests/wpt/meta/streams/readable-streams/tee.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/tee.any.js.ini @@ -9,4 +9,4 @@ [tee.any.html] [tee.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/streams/readable-streams/templated.any.js.ini b/tests/wpt/meta/streams/readable-streams/templated.any.js.ini index 408f849f24c..080908c35c2 100644 --- a/tests/wpt/meta/streams/readable-streams/templated.any.js.ini +++ b/tests/wpt/meta/streams/readable-streams/templated.any.js.ini @@ -21,4 +21,4 @@ [templated.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/constructor/compile.any.js.ini b/tests/wpt/meta/wasm/jsapi/constructor/compile.any.js.ini index dfc9bd50cad..ea38905ff80 100644 --- a/tests/wpt/meta/wasm/jsapi/constructor/compile.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/constructor/compile.any.js.ini @@ -1,5 +1,5 @@ [compile.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [compile.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini b/tests/wpt/meta/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini index 6719f5b796a..cd2150451a9 100644 --- a/tests/wpt/meta/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/constructor/instantiate-bad-imports.any.js.ini @@ -1,6 +1,6 @@ [instantiate-bad-imports.any.html] [instantiate-bad-imports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [instantiate-bad-imports.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/constructor/instantiate.any.js.ini b/tests/wpt/meta/wasm/jsapi/constructor/instantiate.any.js.ini index 691d78b9aea..8fdb240bb6c 100644 --- a/tests/wpt/meta/wasm/jsapi/constructor/instantiate.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/constructor/instantiate.any.js.ini @@ -3,4 +3,4 @@ [instantiate.any.worker.html] [instantiate.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/constructor/multi-value.any.js.ini b/tests/wpt/meta/wasm/jsapi/constructor/multi-value.any.js.ini index dbbdb14cb1d..37690a45a39 100644 --- a/tests/wpt/meta/wasm/jsapi/constructor/multi-value.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/constructor/multi-value.any.js.ini @@ -1,6 +1,6 @@ [multi-value.any.worker.html] [multi-value.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [multi-value.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/constructor/toStringTag.any.js.ini b/tests/wpt/meta/wasm/jsapi/constructor/toStringTag.any.js.ini index 204eefd2fe0..8c7d36d5e56 100644 --- a/tests/wpt/meta/wasm/jsapi/constructor/toStringTag.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/constructor/toStringTag.any.js.ini @@ -1,5 +1,5 @@ [toStringTag.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toStringTag.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/constructor/validate.any.js.ini b/tests/wpt/meta/wasm/jsapi/constructor/validate.any.js.ini index 8173c108573..d40cc7e1a61 100644 --- a/tests/wpt/meta/wasm/jsapi/constructor/validate.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/constructor/validate.any.js.ini @@ -1,6 +1,6 @@ [validate.any.html] [validate.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [validate.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/exception/basic.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/exception/basic.tentative.any.js.ini index 7495957eea9..ef548523e66 100644 --- a/tests/wpt/meta/wasm/jsapi/exception/basic.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/exception/basic.tentative.any.js.ini @@ -9,4 +9,4 @@ expected: ERROR [basic.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/exception/constructor.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/exception/constructor.tentative.any.js.ini index 638ca469b7c..408f6330ec6 100644 --- a/tests/wpt/meta/wasm/jsapi/exception/constructor.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/exception/constructor.tentative.any.js.ini @@ -1,5 +1,5 @@ [constructor.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor.tentative.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/exception/getArg.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/exception/getArg.tentative.any.js.ini index 6c03a9843e1..901a4ac5dee 100644 --- a/tests/wpt/meta/wasm/jsapi/exception/getArg.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/exception/getArg.tentative.any.js.ini @@ -9,4 +9,4 @@ [getArg.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/exception/identity.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/exception/identity.tentative.any.js.ini index efc2282450c..a967655ccc6 100644 --- a/tests/wpt/meta/wasm/jsapi/exception/identity.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/exception/identity.tentative.any.js.ini @@ -1,6 +1,6 @@ [identity.tentative.any.worker.html] [identity.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [identity.tentative.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/exception/is.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/exception/is.tentative.any.js.ini index 0384adc9fef..2c91c1712e9 100644 --- a/tests/wpt/meta/wasm/jsapi/exception/is.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/exception/is.tentative.any.js.ini @@ -1,5 +1,5 @@ [is.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [is.tentative.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/exception/toString.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/exception/toString.tentative.any.js.ini index 0bb6e8890ef..9f25b08bc4d 100644 --- a/tests/wpt/meta/wasm/jsapi/exception/toString.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/exception/toString.tentative.any.js.ini @@ -1,5 +1,5 @@ [toString.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.tentative.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/function/call.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/function/call.tentative.any.js.ini index ea034f8d563..bb42c37b015 100644 --- a/tests/wpt/meta/wasm/jsapi/function/call.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/function/call.tentative.any.js.ini @@ -15,4 +15,4 @@ [call.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/function/constructor.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/function/constructor.tentative.any.js.ini index b56c4edc3b6..5c0e1c07fd7 100644 --- a/tests/wpt/meta/wasm/jsapi/function/constructor.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/function/constructor.tentative.any.js.ini @@ -69,4 +69,4 @@ [constructor.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/function/table.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/function/table.tentative.any.js.ini index a5ce570abce..f9d653ef3d1 100644 --- a/tests/wpt/meta/wasm/jsapi/function/table.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/function/table.tentative.any.js.ini @@ -9,4 +9,4 @@ [table.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/function/type.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/function/type.tentative.any.js.ini index 849ef4ba6ea..12b79ed0434 100644 --- a/tests/wpt/meta/wasm/jsapi/function/type.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/function/type.tentative.any.js.ini @@ -15,4 +15,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/global/constructor.any.js.ini b/tests/wpt/meta/wasm/jsapi/global/constructor.any.js.ini index ad36cd1b314..da62b1f8971 100644 --- a/tests/wpt/meta/wasm/jsapi/global/constructor.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/global/constructor.any.js.ini @@ -1,6 +1,6 @@ [constructor.any.worker.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/global/toString.any.js.ini b/tests/wpt/meta/wasm/jsapi/global/toString.any.js.ini index a6171f3a687..b28ec0f27db 100644 --- a/tests/wpt/meta/wasm/jsapi/global/toString.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/global/toString.any.js.ini @@ -1,5 +1,5 @@ [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/global/type.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/global/type.tentative.any.js.ini index 93469a74697..448b6817514 100644 --- a/tests/wpt/meta/wasm/jsapi/global/type.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/global/type.tentative.any.js.ini @@ -105,4 +105,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/global/value-get-set.any.js.ini b/tests/wpt/meta/wasm/jsapi/global/value-get-set.any.js.ini index 8c9df855fb1..8ed3f6ae04c 100644 --- a/tests/wpt/meta/wasm/jsapi/global/value-get-set.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/global/value-get-set.any.js.ini @@ -1,5 +1,5 @@ [value-get-set.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [value-get-set.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/global/valueOf.any.js.ini b/tests/wpt/meta/wasm/jsapi/global/valueOf.any.js.ini index 54293aaccdc..c1df2fbadbd 100644 --- a/tests/wpt/meta/wasm/jsapi/global/valueOf.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/global/valueOf.any.js.ini @@ -1,5 +1,5 @@ [valueOf.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [valueOf.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/instance/constructor-bad-imports.any.js.ini b/tests/wpt/meta/wasm/jsapi/instance/constructor-bad-imports.any.js.ini index 013ca5d2335..d54ba088142 100644 --- a/tests/wpt/meta/wasm/jsapi/instance/constructor-bad-imports.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/instance/constructor-bad-imports.any.js.ini @@ -1,5 +1,5 @@ [constructor-bad-imports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor-bad-imports.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/instance/constructor-caching.any.js.ini b/tests/wpt/meta/wasm/jsapi/instance/constructor-caching.any.js.ini index 882692158fa..1ba4176e445 100644 --- a/tests/wpt/meta/wasm/jsapi/instance/constructor-caching.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/instance/constructor-caching.any.js.ini @@ -1,6 +1,6 @@ [constructor-caching.any.worker.html] [constructor-caching.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor-caching.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/instance/constructor.any.js.ini b/tests/wpt/meta/wasm/jsapi/instance/constructor.any.js.ini index c4ffef1c19b..4702f22a041 100644 --- a/tests/wpt/meta/wasm/jsapi/instance/constructor.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/instance/constructor.any.js.ini @@ -1,5 +1,5 @@ [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/instance/exports.any.js.ini b/tests/wpt/meta/wasm/jsapi/instance/exports.any.js.ini index 5e4dabe7a54..a1cb5f38d1b 100644 --- a/tests/wpt/meta/wasm/jsapi/instance/exports.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/instance/exports.any.js.ini @@ -1,5 +1,5 @@ [exports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [exports.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/instance/toString.any.js.ini b/tests/wpt/meta/wasm/jsapi/instance/toString.any.js.ini index 6c92721bcda..7a7e0e058d6 100644 --- a/tests/wpt/meta/wasm/jsapi/instance/toString.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/instance/toString.any.js.ini @@ -1,5 +1,5 @@ [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/interface.any.js.ini b/tests/wpt/meta/wasm/jsapi/interface.any.js.ini index 423aa729201..d2eed9fbd24 100644 --- a/tests/wpt/meta/wasm/jsapi/interface.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/interface.any.js.ini @@ -9,4 +9,4 @@ [interface.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/js-string/basic.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/js-string/basic.tentative.any.js.ini index 641f0f41c82..9538b8f89b8 100644 --- a/tests/wpt/meta/wasm/jsapi/js-string/basic.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/js-string/basic.tentative.any.js.ini @@ -5,4 +5,4 @@ expected: ERROR [basic.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/js-string/constants.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/js-string/constants.tentative.any.js.ini index 8216fece860..36b603c8da1 100644 --- a/tests/wpt/meta/wasm/jsapi/js-string/constants.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/js-string/constants.tentative.any.js.ini @@ -1,5 +1,5 @@ [constants.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constants.tentative.any.html] [constants] diff --git a/tests/wpt/meta/wasm/jsapi/js-string/imports.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/js-string/imports.tentative.any.js.ini index 07781faa989..b0c2ced62ad 100644 --- a/tests/wpt/meta/wasm/jsapi/js-string/imports.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/js-string/imports.tentative.any.js.ini @@ -4,7 +4,7 @@ [imports.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [imports.tentative.any.worker.html] [imports] diff --git a/tests/wpt/meta/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini index 747cd00f915..f31177a8a0a 100644 --- a/tests/wpt/meta/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/memory/constructor-shared.tentative.any.js.ini @@ -15,4 +15,4 @@ [constructor-shared.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/memory/constructor-types.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/memory/constructor-types.tentative.any.js.ini index 04fe71ed3b6..3ef0ad72c5e 100644 --- a/tests/wpt/meta/wasm/jsapi/memory/constructor-types.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/memory/constructor-types.tentative.any.js.ini @@ -21,4 +21,4 @@ [constructor-types.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/memory/constructor.any.js.ini b/tests/wpt/meta/wasm/jsapi/memory/constructor.any.js.ini index c4ffef1c19b..4702f22a041 100644 --- a/tests/wpt/meta/wasm/jsapi/memory/constructor.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/memory/constructor.any.js.ini @@ -1,5 +1,5 @@ [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/memory/grow.any.js.ini b/tests/wpt/meta/wasm/jsapi/memory/grow.any.js.ini index 4f10101a8de..8d64b05fa50 100644 --- a/tests/wpt/meta/wasm/jsapi/memory/grow.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/memory/grow.any.js.ini @@ -9,4 +9,4 @@ [grow.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/memory/type.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/memory/type.tentative.any.js.ini index d6d69dcf2dc..cd4305780b8 100644 --- a/tests/wpt/meta/wasm/jsapi/memory/type.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/memory/type.tentative.any.js.ini @@ -39,4 +39,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/module/constructor.any.js.ini b/tests/wpt/meta/wasm/jsapi/module/constructor.any.js.ini index ec1e0569cac..ab2c91d554d 100644 --- a/tests/wpt/meta/wasm/jsapi/module/constructor.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/module/constructor.any.js.ini @@ -3,4 +3,4 @@ [constructor.any.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/module/customSections.any.js.ini b/tests/wpt/meta/wasm/jsapi/module/customSections.any.js.ini index b57a0748a2c..82d76de21ec 100644 --- a/tests/wpt/meta/wasm/jsapi/module/customSections.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/module/customSections.any.js.ini @@ -9,4 +9,4 @@ [customSections.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/module/exports.any.js.ini b/tests/wpt/meta/wasm/jsapi/module/exports.any.js.ini index ad9aabe97d9..fcb89e154a6 100644 --- a/tests/wpt/meta/wasm/jsapi/module/exports.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/module/exports.any.js.ini @@ -1,6 +1,6 @@ [exports.any.html] [exports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [exports.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/module/imports.any.js.ini b/tests/wpt/meta/wasm/jsapi/module/imports.any.js.ini index 729e15d14b0..2a801c2d0f4 100644 --- a/tests/wpt/meta/wasm/jsapi/module/imports.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/module/imports.any.js.ini @@ -3,4 +3,4 @@ [imports.any.worker.html] [imports.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini index dfe92429340..b3b40a80067 100644 --- a/tests/wpt/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini @@ -21,4 +21,4 @@ [moduleSource.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/module/toString.any.js.ini b/tests/wpt/meta/wasm/jsapi/module/toString.any.js.ini index 6c92721bcda..7a7e0e058d6 100644 --- a/tests/wpt/meta/wasm/jsapi/module/toString.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/module/toString.any.js.ini @@ -1,5 +1,5 @@ [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/prototypes.any.js.ini b/tests/wpt/meta/wasm/jsapi/prototypes.any.js.ini index ec9782959d6..79e61293653 100644 --- a/tests/wpt/meta/wasm/jsapi/prototypes.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/prototypes.any.js.ini @@ -1,6 +1,6 @@ [prototypes.any.html] [prototypes.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [prototypes.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/table/constructor-types.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/constructor-types.tentative.any.js.ini index 04fe71ed3b6..3ef0ad72c5e 100644 --- a/tests/wpt/meta/wasm/jsapi/table/constructor-types.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/constructor-types.tentative.any.js.ini @@ -21,4 +21,4 @@ [constructor-types.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/table/constructor.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/constructor.any.js.ini index ad36cd1b314..da62b1f8971 100644 --- a/tests/wpt/meta/wasm/jsapi/table/constructor.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/constructor.any.js.ini @@ -1,6 +1,6 @@ [constructor.any.worker.html] [constructor.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [constructor.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/table/get-set.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/get-set.any.js.ini index d1cbc776efd..2f38b794efa 100644 --- a/tests/wpt/meta/wasm/jsapi/table/get-set.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/get-set.any.js.ini @@ -3,4 +3,4 @@ [get-set.any.html] [get-set.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/table/grow.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/grow.any.js.ini index fe74d16b605..5d4ee5fe643 100644 --- a/tests/wpt/meta/wasm/jsapi/table/grow.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/grow.any.js.ini @@ -1,6 +1,6 @@ [grow.any.worker.html] [grow.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [grow.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/table/length.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/length.any.js.ini index 64545029aac..19e29750cc3 100644 --- a/tests/wpt/meta/wasm/jsapi/table/length.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/length.any.js.ini @@ -3,4 +3,4 @@ [length.any.worker.html] [length.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/table/toString.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/toString.any.js.ini index a6171f3a687..b28ec0f27db 100644 --- a/tests/wpt/meta/wasm/jsapi/table/toString.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/toString.any.js.ini @@ -1,5 +1,5 @@ [toString.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.any.worker.html] diff --git a/tests/wpt/meta/wasm/jsapi/table/type.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/table/type.tentative.any.js.ini index 5d1026c296d..4c048ae076a 100644 --- a/tests/wpt/meta/wasm/jsapi/table/type.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/table/type.tentative.any.js.ini @@ -33,4 +33,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/tag/constructor.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/tag/constructor.tentative.any.js.ini index 28de5e1be57..ee08b1c8d5b 100644 --- a/tests/wpt/meta/wasm/jsapi/tag/constructor.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/tag/constructor.tentative.any.js.ini @@ -3,4 +3,4 @@ [constructor.tentative.any.worker.html] [constructor.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/wasm/jsapi/tag/toString.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/tag/toString.tentative.any.js.ini index 5227dbd99ac..a9fbfb5a9b0 100644 --- a/tests/wpt/meta/wasm/jsapi/tag/toString.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/tag/toString.tentative.any.js.ini @@ -1,6 +1,6 @@ [toString.tentative.any.worker.html] [toString.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT [toString.tentative.any.html] diff --git a/tests/wpt/meta/wasm/jsapi/tag/type.tentative.any.js.ini b/tests/wpt/meta/wasm/jsapi/tag/type.tentative.any.js.ini index d3c246a07d2..4823cae6d8c 100644 --- a/tests/wpt/meta/wasm/jsapi/tag/type.tentative.any.js.ini +++ b/tests/wpt/meta/wasm/jsapi/tag/type.tentative.any.js.ini @@ -21,4 +21,4 @@ [type.tentative.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js.ini b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js.ini new file mode 100644 index 00000000000..03e1ca39330 --- /dev/null +++ b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-constants.any.html] + +[DOMException-constants.any.worker.html] + +[DOMException-constants.any.shadowrealm.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini new file mode 100644 index 00000000000..ebef809cb3e --- /dev/null +++ b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-constructor-and-prototype.any.worker.html] + +[DOMException-constructor-and-prototype.any.html] + +[DOMException-constructor-and-prototype.any.shadowrealm.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini new file mode 100644 index 00000000000..016a5fb6908 --- /dev/null +++ b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-constructor-behavior.any.html] + +[DOMException-constructor-behavior.any.worker.html] + +[DOMException-constructor-behavior.any.shadowrealm.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js.ini b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js.ini new file mode 100644 index 00000000000..ed02c84d7ba --- /dev/null +++ b/tests/wpt/meta/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js.ini @@ -0,0 +1,6 @@ +[DOMException-custom-bindings.any.shadowrealm.html] + expected: TIMEOUT + +[DOMException-custom-bindings.any.worker.html] + +[DOMException-custom-bindings.any.html] diff --git a/tests/wpt/meta/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini b/tests/wpt/meta/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini index c5b8f38cc86..63480cf15c1 100644 --- a/tests/wpt/meta/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini +++ b/tests/wpt/meta/webidl/ecmascript-binding/global-mutable-prototype.any.js.ini @@ -1,2 +1,2 @@ [global-mutable-prototype.any.shadowrealm.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/meta/workers/constructors/Worker/Worker-constructor.html.ini new file mode 100644 index 00000000000..80f9a4f15b8 --- /dev/null +++ b/tests/wpt/meta/workers/constructors/Worker/Worker-constructor.html.ini @@ -0,0 +1,2 @@ +[Worker-constructor.html] + expected: ERROR diff --git a/tests/wpt/mozilla/meta-legacy-layout/mozilla/partial_shadow_dom.html.ini b/tests/wpt/mozilla/meta-legacy-layout/mozilla/partial_shadow_dom.html.ini index 6b14e5081c1..570ed139ec1 100644 --- a/tests/wpt/mozilla/meta-legacy-layout/mozilla/partial_shadow_dom.html.ini +++ b/tests/wpt/mozilla/meta-legacy-layout/mozilla/partial_shadow_dom.html.ini @@ -1,2 +1,4 @@ [partial_shadow_dom.html] prefs: [dom.shadowdom.enabled:true] + [partial_shadow_dom] + expected: FAIL diff --git a/tests/wpt/tests/.well-known/shared-storage/trusted-origins/default.py b/tests/wpt/tests/.well-known/shared-storage/trusted-origins/default.py index 4dbd8363971..b595f17073f 100644 --- a/tests/wpt/tests/.well-known/shared-storage/trusted-origins/default.py +++ b/tests/wpt/tests/.well-known/shared-storage/trusted-origins/default.py @@ -1,7 +1,7 @@ """Endpoint to get shared storage trusted origins.""" from importlib import import_module -trusted_origins = import_module('shared-storage.resources.trusted_origins') +trusted_origins = import_module('shared-storage.resources.trusted-origins') def main(request, response): trusted_origins.get_json(request, response) diff --git a/tests/wpt/tests/FileAPI/url/url-in-tags.window.js b/tests/wpt/tests/FileAPI/url/url-in-tags.window.js index f20b3599013..8a722dcac82 100644 --- a/tests/wpt/tests/FileAPI/url/url-in-tags.window.js +++ b/tests/wpt/tests/FileAPI/url/url-in-tags.window.js @@ -1,3 +1,10 @@ +setup(() => { + const viewport_meta = document.createElement('meta'); + viewport_meta.name = "viewport"; + viewport_meta.content = "width=device-width,initial-scale=1"; + document.head.appendChild(viewport_meta); +}); + async_test(t => { const run_result = 'test_script_OK'; const blob_contents = 'window.test_result = "' + run_result + '";'; diff --git a/tests/wpt/tests/IndexedDB/event-dispatch-active-flag.any.js b/tests/wpt/tests/IndexedDB/event-dispatch-active-flag.any.js new file mode 100644 index 00000000000..47c27eadb8a --- /dev/null +++ b/tests/wpt/tests/IndexedDB/event-dispatch-active-flag.any.js @@ -0,0 +1,91 @@ +// META: title=IndexedDB Transaction - active flag is set during event dispatch +// META: global=window,worker +// META: script=resources/support.js + +'use strict'; + +function createObjectStore() { + return (t, db) => { + db.createObjectStore('store'); + }; +} + +function initializeTransaction(t, db, mode = 'readonly') { + const tx = db.transaction('store', mode, {durability: 'relaxed'}); + const release_tx = keep_alive(tx, 'store'); + assert_true( + is_transaction_active(tx, 'store'), + 'Transaction should be active after creation'); + return {tx, release_tx}; +} + +function assertLifetimeInMicrotasksAndEventLoop( + t, tx, release_tx, handlerMessage) { + assert_true(is_transaction_active(tx, 'store'), handlerMessage); + + let saw_promise = false; + Promise.resolve().then(t.step_func(() => { + saw_promise = true; + assert_true( + is_transaction_active(tx, 'store'), + 'Transaction should be active in microtasks'); + })); + + setTimeout( + t.step_func(() => { + assert_true(saw_promise); + assert_false( + is_transaction_active(tx, 'store'), + 'Transaction should be inactive in next task'); + release_tx(); + t.done(); + }), + 0); +}; + +indexeddb_test(createObjectStore(), (t, db) => { + const {tx, release_tx} = initializeTransaction(t, db); + const request = tx.objectStore('store').get(0); + request.onerror = t.unreached_func('request should succeed'); + request.onsuccess = t.step_func((e) => { + assertLifetimeInMicrotasksAndEventLoop( + t, tx, release_tx, + 'Transaction should be active during success handler'); + }); +}, 'Active during success handlers'); + +indexeddb_test(createObjectStore(), (t, db) => { + const {tx, release_tx} = initializeTransaction(t, db); + const request = tx.objectStore('store').get(0); + request.onerror = t.unreached_func('request should succeed'); + request.onsuccess = t.step_func((e) => { + assertLifetimeInMicrotasksAndEventLoop( + t, tx, release_tx, + 'Transaction should be active during success listener'); + }); +}, 'Active during success listeners'); + +indexeddb_test(createObjectStore(), (t, db) => { + const {tx, release_tx} = initializeTransaction(t, db, 'readwrite'); + tx.objectStore('store').put(0, 0); + const request = tx.objectStore('store').add(0, 0); + request.onsuccess = t.unreached_func('request should fail'); + request.onerror = t.step_func((e) => { + e.preventDefault(); + assertLifetimeInMicrotasksAndEventLoop( + t, tx, release_tx, 'Transaction should be active during error handler'); + }); +}, 'Active during error handlers'); + +indexeddb_test(createObjectStore(), (t, db) => { + const {tx, release_tx} = initializeTransaction(t, db, 'readwrite'); + tx.objectStore('store').put(0, 0); + const request = tx.objectStore('store').add(0, 0); + request.onsuccess = t.unreached_func('request should fail'); + request.onerror = t.step_func((e) => { + e.preventDefault(); + assertLifetimeInMicrotasksAndEventLoop( + t, tx, release_tx, + 'Transaction should be active during error listener'); + }); +}, 'Active during error listeners'); diff --git a/tests/wpt/tests/IndexedDB/event-dispatch-active-flag.html b/tests/wpt/tests/IndexedDB/event-dispatch-active-flag.html deleted file mode 100644 index 46f249c9849..00000000000 --- a/tests/wpt/tests/IndexedDB/event-dispatch-active-flag.html +++ /dev/null @@ -1,154 +0,0 @@ -<!DOCTYPE html> -<meta charset=utf-8> -<title>Transaction active flag is set during event dispatch</title> -<link rel="help" href="https://w3c.github.io/IndexedDB/#fire-success-event"> -<link rel="help" href="https://w3c.github.io/IndexedDB/#fire-error-event"> -<script src=/resources/testharness.js></script> -<script src=/resources/testharnessreport.js></script> -<script src=resources/support.js></script> -<script> - -indexeddb_test( - (t, db, tx) => { - db.createObjectStore('store'); - }, - (t, db) => { - const tx = db.transaction('store', 'readonly', {durability: 'relaxed'}); - const release_tx = keep_alive(tx, 'store'); - - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active after creation'); - - const request = tx.objectStore('store').get(0); - request.onerror = t.unreached_func('request should succeed'); - request.onsuccess = () => { - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active during success handler'); - - let saw_handler_promise = false; - Promise.resolve().then(t.step_func(() => { - saw_handler_promise = true; - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active in handler\'s microtasks'); - })); - - setTimeout(t.step_func(() => { - assert_true(saw_handler_promise); - assert_false(is_transaction_active(tx, 'store'), - 'Transaction should be inactive in next task'); - release_tx(); - t.done(); - }), 0); - }; - }, - 'Transactions are active during success handlers'); - -indexeddb_test( - (t, db, tx) => { - db.createObjectStore('store'); - }, - (t, db) => { - const tx = db.transaction('store', 'readonly', {durability: 'relaxed'}); - const release_tx = keep_alive(tx, 'store'); - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active after creation'); - - const request = tx.objectStore('store').get(0); - request.onerror = t.unreached_func('request should succeed'); - request.addEventListener('success', () => { - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active during success listener'); - - let saw_listener_promise = false; - Promise.resolve().then(t.step_func(() => { - saw_listener_promise = true; - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active in listener\'s microtasks'); - })); - - setTimeout(t.step_func(() => { - assert_true(saw_listener_promise); - assert_false(is_transaction_active(tx, 'store'), - 'Transaction should be inactive in next task'); - release_tx(); - t.done(); - }), 0); - }); - }, - 'Transactions are active during success listeners'); - -indexeddb_test( - (t, db, tx) => { - db.createObjectStore('store'); - }, - (t, db) => { - const tx = db.transaction('store', 'readwrite', {durability: 'relaxed'}); - const release_tx = keep_alive(tx, 'store'); - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active after creation'); - - tx.objectStore('store').put(0, 0); - const request = tx.objectStore('store').add(0, 0); - request.onsuccess = t.unreached_func('request should fail'); - request.onerror = e => { - e.preventDefault(); - - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active during error handler'); - - let saw_handler_promise = false; - Promise.resolve().then(t.step_func(() => { - saw_handler_promise = true; - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active in handler\'s microtasks'); - })); - - setTimeout(t.step_func(() => { - assert_true(saw_handler_promise); - assert_false(is_transaction_active(tx, 'store'), - 'Transaction should be inactive in next task'); - release_tx(); - t.done(); - }), 0); - }; - }, - 'Transactions are active during error handlers'); - -indexeddb_test( - (t, db, tx) => { - db.createObjectStore('store'); - }, - (t, db) => { - const tx = db.transaction('store', 'readwrite', {durability: 'relaxed'}); - const release_tx = keep_alive(tx, 'store'); - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active after creation'); - - tx.objectStore('store').put(0, 0); - const request = tx.objectStore('store').add(0, 0); - request.onsuccess = t.unreached_func('request should fail'); - request.addEventListener('error', e => { - e.preventDefault(); - - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active during error listener'); - - let saw_listener_promise = false; - Promise.resolve().then(t.step_func(() => { - saw_listener_promise = true; - assert_true(is_transaction_active(tx, 'store'), - 'Transaction should be active in listener\'s microtasks'); - })); - - setTimeout(t.step_func(() => { - assert_true(saw_listener_promise); - assert_false(is_transaction_active(tx, 'store'), - 'Transaction should be inactive in next task'); - release_tx(); - t.done(); - }), 0); - }); - }, - 'Transactions are active during error listeners'); - -</script> diff --git a/tests/wpt/tests/IndexedDB/idbindex_openCursor.any.js b/tests/wpt/tests/IndexedDB/idbindex_openCursor.any.js new file mode 100644 index 00000000000..3de4856e2bd --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbindex_openCursor.any.js @@ -0,0 +1,65 @@ +// META: global=window,worker +// META: title=IDBIndex.openCursor() +// META: script=resources/support.js + +'use_strict'; + +async_test(t => { + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(e => { + const db = e.target.result; + const store = db.createObjectStore('store', {keyPath: 'key'}); + const index = store.createIndex('index', 'indexedProperty'); + + store.add({key: 1, indexedProperty: 'data'}); + store.deleteIndex('index'); + + assert_throws_dom('InvalidStateError', () => { + index.openCursor(); + }); + t.done(); + }); +}, 'If the index is deleted, throw InvalidStateError'); + +async_test(t => { + let db; + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(e => { + db = e.target.result; + const store = db.createObjectStore('store', {keyPath: 'key'}); + store.createIndex('index', 'indexedProperty'); + store.add({key: 1, indexedProperty: 'data'}); + }); + + open_rq.onsuccess = t.step_func(e => { + db = e.target.result; + const tx = db.transaction('store', 'readonly', {durability: 'relaxed'}); + const index = tx.objectStore('store').index('index'); + tx.abort(); + + assert_throws_dom('TransactionInactiveError', () => { + index.openCursor(); + }); + t.done(); + }); +}, 'If the transaction has been aborted, throw TransactionInactiveError'); + +async_test(t => { + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(e => { + const db = e.target.result; + const store = db.createObjectStore('store', {keyPath: 'key'}); + const index = store.createIndex('index', 'indexedProperty'); + store.add({key: 1, indexedProperty: 'data'}); + + e.target.transaction.abort(); + + assert_throws_dom('InvalidStateError', () => { + index.openCursor(); + }); + t.done(); + }); +}, 'If the index is deleted by an aborted upgrade, throw InvalidStateError'); diff --git a/tests/wpt/tests/IndexedDB/idbindex_openCursor.htm b/tests/wpt/tests/IndexedDB/idbindex_openCursor.htm deleted file mode 100644 index 7baf2cf9ed7..00000000000 --- a/tests/wpt/tests/IndexedDB/idbindex_openCursor.htm +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>IDBIndex.openCursor() - throw InvalidStateError when the index is deleted</title> -<link rel="author" title="Intel" href="http://www.intel.com"> -<link rel="help" href="https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBIndex-openCursor-IDBRequest-any-range-IDBCursorDirection-direction"> -<script src=/resources/testharness.js></script> -<script src=/resources/testharnessreport.js></script> -<script src=resources/support.js></script> -<div id="log"></div> -<script> - var db, - t = async_test(); - - var open_rq = createdb(t); - open_rq.onupgradeneeded = function(e) { - db = e.target.result; - var store = db.createObjectStore("store", { keyPath: "key" }); - var index = store.createIndex("index", "indexedProperty"); - - store.add({ key: 1, indexedProperty: "data" }); - store.deleteIndex("index"); - - assert_throws_dom("InvalidStateError", function(){ - index.openCursor(); - }); - t.done(); - } -</script> - diff --git a/tests/wpt/tests/IndexedDB/idbindex_openCursor2.htm b/tests/wpt/tests/IndexedDB/idbindex_openCursor2.htm deleted file mode 100644 index 88dcdbac36c..00000000000 --- a/tests/wpt/tests/IndexedDB/idbindex_openCursor2.htm +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>IDBIndex.openCursor() - throw TransactionInactiveError on aborted transaction</title> -<link rel="author" title="Intel" href="http://www.intel.com"> -<link rel="help" href="https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBIndex-openCursor-IDBRequest-any-range-IDBCursorDirection-direction"> -<script src=/resources/testharness.js></script> -<script src=/resources/testharnessreport.js></script> -<script src=resources/support.js></script> -<div id="log"></div> -<script> - var db, - t = async_test(); - - var open_rq = createdb(t); - open_rq.onupgradeneeded = function(e) { - db = e.target.result; - var store = db.createObjectStore("store", { keyPath: "key" }); - var index = store.createIndex("index", "indexedProperty"); - store.add({ key: 1, indexedProperty: "data" }); - } - open_rq.onsuccess = function(e) { - db = e.target.result; - var tx = db.transaction('store', 'readonly', {durability: 'relaxed'}); - var index = tx.objectStore('store').index('index'); - tx.abort(); - - assert_throws_dom("TransactionInactiveError", function(){ - index.openCursor(); - }); - t.done(); - } -</script> diff --git a/tests/wpt/tests/IndexedDB/idbindex_openCursor3.htm b/tests/wpt/tests/IndexedDB/idbindex_openCursor3.htm deleted file mode 100644 index 91a98464e08..00000000000 --- a/tests/wpt/tests/IndexedDB/idbindex_openCursor3.htm +++ /dev/null @@ -1,27 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>IDBIndex.openCursor() - throw InvalidStateError on index deleted by aborted upgrade</title> -<link rel="help" href="https://w3c.github.io/IndexedDB/#dom-idbindex-opencursor"> -<script src=/resources/testharness.js></script> -<script src=/resources/testharnessreport.js></script> -<script src=resources/support.js></script> -<div id="log"></div> -<script> - var db, - t = async_test(); - - var open_rq = createdb(t); - open_rq.onupgradeneeded = function(e) { - db = e.target.result; - var store = db.createObjectStore("store", { keyPath: "key" }); - var index = store.createIndex("index", "indexedProperty"); - store.add({ key: 1, indexedProperty: "data" }); - - e.target.transaction.abort(); - - assert_throws_dom("InvalidStateError", function(){ - index.openCursor(); - }); - t.done(); - } -</script> diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get.any.js index 638ec6e8140..7e2c2e9b415 100644 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get.any.js +++ b/tests/wpt/tests/IndexedDB/idbobjectstore_get.any.js @@ -1,28 +1,132 @@ -// META: title=IDBObjectStore.get() - key is a number +// META: global=window,worker +// META: title=IDBObjectStore.get() // META: script=resources/support.js -// @author Microsoft <https://www.microsoft.com> "use strict"; -let db; -const t = async_test(); -const record = { key: 3.14159265, property: "data" }; +function createDbRecordAndValidate(record, t) { + const openRequest = createdb(t); -const open_rq = createdb(t); -open_rq.onupgradeneeded = event => { - db = event.target.result; - db.createObjectStore("store", { keyPath: "key" }) - .add(record); + openRequest.onupgradeneeded = t.step_func(event => { + const db = event.target.result; + const store = db.createObjectStore('store', {keyPath: 'key'}); + store.add(record); + + openRequest.onsuccess = t.step_func(event => { + const rq = db.transaction('store', 'readonly', {durability: 'relaxed'}) + .objectStore('store') + .get(record.key); + + rq.onsuccess = t.step_func(event => { + const result = event.target.result; + assert_equals(result.key.valueOf(), result.key.valueOf()); + assert_equals(result.property, record.property); + t.done(); + }); + }); + }); } -open_rq.onsuccess = event => { - const rq = db.transaction("store", "readonly", {durability: 'relaxed'}) - .objectStore("store") - .get(record.key); +async_test(t => { + const record = {key: 3.14159265, property: 'data'}; + createDbRecordAndValidate(record, t); +}, 'Key is a number'); + +async_test(t => { + const record = {key: 'this is a key that\'s a string', property: 'data'}; + createDbRecordAndValidate(record, t); +}, 'Key is a string'); + +async_test(t => { + const record = {key: new Date(), property: 'data'}; + createDbRecordAndValidate(record, t); +}, 'Key is a date'); + +async_test(t => { + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(event => { + const db = event.target.result; + const rq = db.createObjectStore('store', {keyPath: 'key'}).get(1); + + rq.onsuccess = t.step_func(event => { + assert_equals(event.target.result, undefined); + t.done(); + }); + }); +}, 'Attempts to retrieve a record that doesn\'t exist'); + +async_test(t => { + let db; + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(event => { + db = event.target.result; + const os = db.createObjectStore('store'); + + for (let i = 0; i < 10; i++) { + os.add(`data${i}`, i); + } + }); + + open_rq.onsuccess = t.step_func(event => { + const rq = db.transaction('store', 'readonly', {durability: 'relaxed'}) + .objectStore('store') + .get(IDBKeyRange.bound(3, 6)); + + rq.onsuccess = t.step_func(event => { + assert_equals(event.target.result, 'data3', 'get(3-6)'); + t.done(); + }); + }); +}, 'Returns the record with the first key in the range'); + +async_test(t => { + let db; + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(event => { + db = event.target.result; + db.createObjectStore('store', {keyPath: 'key'}); + }); + + open_rq.onsuccess = t.step_func(event => { + const store = db.transaction('store', 'readonly', { + durability: 'relaxed' + }).objectStore('store'); + + // Abort the transaction immediately. + store.transaction.abort(); + + // Accessing the store after the transaction aborts must throw + // TransactionInactiveError. + assert_throws_dom('TransactionInactiveError', () => { + store.get(1); + }); - rq.onsuccess = t.step_func(event => { - assert_equals(event.target.result.key, record.key); - assert_equals(event.target.result.property, record.property); t.done(); }); -} +}, 'When a transaction is aborted, throw TransactionInactiveError'); + +async_test(t => { + let db; + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(event => { + db = event.target.result; + db.createObjectStore('store', {keyPath: 'key'}); + }); + + open_rq.onsuccess = t.step_func(event => { + const store = db.transaction('store', 'readonly', { + durability: 'relaxed' + }).objectStore('store'); + + // Attempt to use an invalid key (null) + assert_throws_dom('DataError', () => { + store.get(null); + }); + + t.done(); + }); +}, 'When an invalid key is used, throw DataError'); diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get2.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get2.any.js deleted file mode 100644 index 488a9043efd..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get2.any.js +++ /dev/null @@ -1,28 +0,0 @@ -// META: title=IDBObjectStore.get() - key is a string -// META: script=resources/support.js -// @author Microsoft <https://www.microsoft.com> - -"use strict"; - -let db; -const t = async_test(); -const record = { key: "this is a key that's a string", property: "data" }; - -const open_rq = createdb(t); -open_rq.onupgradeneeded = event => { - db = event.target.result; - db.createObjectStore("store", { keyPath: "key" }) - .add(record); -}; - -open_rq.onsuccess = event => { - const rq = db.transaction("store", "readonly", {durability: 'relaxed'}) - .objectStore("store") - .get(record.key); - - rq.onsuccess = t.step_func(event => { - assert_equals(event.target.result.key, record.key); - assert_equals(event.target.result.property, record.property); - t.done(); - }); -}; diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get3.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get3.any.js deleted file mode 100644 index 3ab6c7c7547..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get3.any.js +++ /dev/null @@ -1,28 +0,0 @@ -// META: title=IDBObjectStore.get() - key is a Date -// META: script=resources/support.js -// @author Microsoft <https://www.microsoft.com> - -"use strict"; - -let db; -const t = async_test(); -const record = { key: new Date(), property: "data" }; - -const open_rq = createdb(t); -open_rq.onupgradeneeded = event => { - db = event.target.result; - db.createObjectStore("store", { keyPath: "key" }) - .add(record); -}; - -open_rq.onsuccess = event => { - const rq = db.transaction("store", "readonly", {durability: 'relaxed'}) - .objectStore("store") - .get(record.key); - - rq.onsuccess = t.step_func(event => { - assert_equals(event.target.result.key.valueOf(), record.key.valueOf()); - assert_equals(event.target.result.property, record.property); - t.done(); - }); -}; diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get4.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get4.any.js deleted file mode 100644 index a69717ce4ef..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get4.any.js +++ /dev/null @@ -1,19 +0,0 @@ -// META: title=IDBObjectStore.get() - attempt to retrieve a record that doesn't exist -// META: script=resources/support.js -// @author Microsoft <https://www.microsoft.com> - -"use strict"; - -let db; -const t = async_test(); - -const open_rq = createdb(t); -open_rq.onupgradeneeded = event => { - db = event.target.result; - const rq = db.createObjectStore("store", { keyPath: "key" }) - .get(1); - rq.onsuccess = t.step_func(event => { - assert_equals(event.target.results, undefined); - t.done(); - }); -}; diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get5.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get5.any.js deleted file mode 100644 index 1e3bb0fe647..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get5.any.js +++ /dev/null @@ -1,29 +0,0 @@ -// META: title=IDBObjectStore.get() - returns the record with the first key in the range -// META: script=resources/support.js -// @author Microsoft <https://www.microsoft.com> - -"use strict"; - -let db; -const t = async_test(); -const open_rq = createdb(t); - -open_rq.onupgradeneeded = event => { - db = event.target.result; - const os = db.createObjectStore("store"); - - for (let i = 0; i < 10; i++) { - os.add(`data${i}`, i); - } -}; - -open_rq.onsuccess = event => { - const rq = db.transaction("store", "readonly", {durability: 'relaxed'}) - .objectStore("store") - .get(IDBKeyRange.bound(3, 6)); - - rq.onsuccess = t.step_func(event => { - assert_equals(event.target.result, "data3", "get(3-6)"); - t.done(); - }); -}; diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get6.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get6.any.js deleted file mode 100644 index e20af4afc99..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get6.any.js +++ /dev/null @@ -1,24 +0,0 @@ -// META: title=IDBObjectStore.get() - throw TransactionInactiveError on aborted transaction -// META: script=resources/support.js -// @author YuichiNukiyama <https://github.com/YuichiNukiyama> - -"use strict"; - -let db; -const t = async_test(); - -const open_rq = createdb(t); -open_rq.onupgradeneeded = event => { - db = event.target.result; - db.createObjectStore("store", { keyPath: "key" }); -}; - -open_rq.onsuccess = event => { - const store = db.transaction("store", "readonly", {durability: 'relaxed'}) - .objectStore("store"); - store.transaction.abort(); - assert_throws_dom("TransactionInactiveError", function () { - store.get(1); - }, "throw TransactionInactiveError on aborted transaction."); - t.done(); -}; diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_get7.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_get7.any.js deleted file mode 100644 index 863ba0ac69d..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_get7.any.js +++ /dev/null @@ -1,23 +0,0 @@ -// META: title=IDBObjectStore.get() - throw DataError when using invalid key -// META: script=resources/support.js -// @author YuichiNukiyama <https://github.com/YuichiNukiyama> - -"use strict"; - -let db; -const t = async_test(); - -const open_rq = createdb(t); -open_rq.onupgradeneeded = event => { - db = event.target.result; - db.createObjectStore("store", { keyPath: "key" }); -} - -open_rq.onsuccess = () => { - const store = db.transaction("store", "readonly", {durability: 'relaxed'}) - .objectStore("store"); - assert_throws_dom("DataError", () => { - store.get(null) - }, "throw DataError when using invalid key."); - t.done(); -} diff --git a/tests/wpt/tests/ai/language_detection/detector.tentative.window.js b/tests/wpt/tests/ai/language_detection/detector.https.tentative.window.js index 4f962de8339..4f962de8339 100644 --- a/tests/wpt/tests/ai/language_detection/detector.tentative.window.js +++ b/tests/wpt/tests/ai/language_detection/detector.https.tentative.window.js diff --git a/tests/wpt/tests/ai/translator/ai_translator_bad_input.tentative.https.window.js b/tests/wpt/tests/ai/translator/ai_translator_bad_input.tentative.https.window.js new file mode 100644 index 00000000000..8a9e4ff5377 --- /dev/null +++ b/tests/wpt/tests/ai/translator/ai_translator_bad_input.tentative.https.window.js @@ -0,0 +1,14 @@ +// META: title=translator.create without options do not crash +// META: timeout=long +// +// Setting `timeout=long` as this test may require downloading the translation +// library and the language models. + +'use strict'; + +promise_test(async t => { + const translatorFactory = ai.translator; + assert_not_equals(translatorFactory, null); + await promise_rejects_dom(t, 'InvalidStateError',translatorFactory.create(/*empty options*/), + 'No options are provided.'); +}); diff --git a/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.window.js b/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.window.js new file mode 100644 index 00000000000..fe0f2d245eb --- /dev/null +++ b/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.window.js @@ -0,0 +1,17 @@ +// META: title=Translate from English to Japanese +// META: timeout=long +// +// Setting `timeout=long` as this test may require downloading the translation +// library and the language models. + +'use strict'; + +promise_test(async t => { + const translatorFactory = ai.translator; + assert_not_equals(translatorFactory, null); + const translator = await translatorFactory.create({ + sourceLanguage: "en", + targetLanguage: "ja" + }); + assert_equals(await translator.translate('hello'), 'こんにちは'); +}); diff --git a/tests/wpt/tests/clipboard-apis/async-html-script-removal.https.html b/tests/wpt/tests/clipboard-apis/async-html-script-removal.https.html index 9ec9a373564..dc26f382f73 100644 --- a/tests/wpt/tests/clipboard-apis/async-html-script-removal.https.html +++ b/tests/wpt/tests/clipboard-apis/async-html-script-removal.https.html @@ -31,8 +31,9 @@ function reformatHtml(html) { const html_with_script = '<title>Title of the document</title> <script>const a = 5;</scr' + 'ipt> <p>Hello World</p>'; -const html_without_script = - '<title>Title of the document</title> <p>Hello World</p>'; +const html_script = + '<script>const a = 5;</scr' + + 'ipt>'; promise_test(async t => { await tryGrantReadPermission(); await tryGrantWritePermission(); @@ -53,8 +54,7 @@ promise_test(async t => { const blobText = await (new Response(blobOutput)).text(); const outputHtml = reformatHtml(blobText); - const inputHtml = reformatHtml(html_without_script); - assert_equals(outputHtml, inputHtml); -}, 'Verify write and read clipboard with scripts removed given text/html: ' - + html_with_script); + const html_script_no_spaces = reformatHtml(html_script); + assert_true(!outputHtml.includes(html_script_no_spaces)); +}, 'Verify write and read clipboard with scripts removed given text/html. The string "' + html_script + '" has been removed.'); </script> diff --git a/tests/wpt/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html b/tests/wpt/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html index 25a90a2d082..aed115231c4 100644 --- a/tests/wpt/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html +++ b/tests/wpt/tests/clipboard-apis/async-navigator-clipboard-read-resource-load.https.html @@ -34,7 +34,7 @@ promise_test(async test => { const htmlBlob = await items[0].getType("text/html"); const html = await htmlBlob.text(); - assert_equals(html, '<img src="https://example.com/oops">'); + assert_true(html.includes('<img src="https://example.com/oops">')); // Allow resource loading to start asynchronously await new Promise(resolve => test.step_timeout(resolve, 100)); diff --git a/tests/wpt/tests/compat/webkit-gradient-sign.html b/tests/wpt/tests/compat/webkit-gradient-sign.html new file mode 100644 index 00000000000..68e1e32b1f3 --- /dev/null +++ b/tests/wpt/tests/compat/webkit-gradient-sign.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<link rel="help" href="https://compat.spec.whatwg.org/#css-gradients-webkit-linear-gradient"> +<meta name="assert" content="Check that we do not crash even if color-stop() is not resolvable at parse time."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +test(() => { + assert_true(CSS.supports("background-image", "-webkit-gradient(linear, left top, left bottom, color-stop(calc(0.5 + 0.001 * sign(1em - 1px)), blue))")); +}); + +test(() => { + assert_true(CSS.supports("background-image", "-webkit-gradient(linear, left top, left bottom, color-stop(calc(50% + 0.001% * sign(1em - 1px)), blue))")); +}); +</script> diff --git a/tests/wpt/tests/compression/idlharness-shadowrealm.window.js b/tests/wpt/tests/compression/idlharness-shadowrealm.window.js index 2fdc807ee07..ead3dcc8376 100644 --- a/tests/wpt/tests/compression/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/compression/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["compression"], ["streams"]); diff --git a/tests/wpt/tests/console/console-label-conversion.any.js b/tests/wpt/tests/console/console-label-conversion.any.js index 4d48df3b1d0..9fa1bd0f7c2 100644 --- a/tests/wpt/tests/console/console-label-conversion.any.js +++ b/tests/wpt/tests/console/console-label-conversion.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + "use strict"; // https://console.spec.whatwg/org/#counting // https://console.spec.whatwg/org/#timing diff --git a/tests/wpt/tests/console/console-namespace-object-class-string.any.js b/tests/wpt/tests/console/console-namespace-object-class-string.any.js index d3ff7f7d076..4fed742c308 100644 --- a/tests/wpt/tests/console/console-namespace-object-class-string.any.js +++ b/tests/wpt/tests/console/console-namespace-object-class-string.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + "use strict"; // https://webidl.spec.whatwg.org/#es-namespaces // https://console.spec.whatwg.org/#console-namespace diff --git a/tests/wpt/tests/console/idlharness-shadowrealm.window.js b/tests/wpt/tests/console/idlharness-shadowrealm.window.js index 8f68252dcd2..fcd3817f227 100644 --- a/tests/wpt/tests/console/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/console/idlharness-shadowrealm.window.js @@ -1,3 +1,4 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js // https://console.spec.whatwg.org/ diff --git a/tests/wpt/tests/content-security-policy/navigation/support/utils.js b/tests/wpt/tests/content-security-policy/navigation/support/utils.js new file mode 100644 index 00000000000..0bb402dccc6 --- /dev/null +++ b/tests/wpt/tests/content-security-policy/navigation/support/utils.js @@ -0,0 +1,33 @@ +function determineInjectionSinkDescription(testCase) { + const targetWindowDescription = ("targetWindow" in testCase) ? + testCase.targetWindow.name : ""; + + const element = ("elementId" in testCase) ? + window.document.getElementById(testCase.elementId) : null; + + const elementDescription = element ? (element.localName + + (element.target ? ("[target=" + element.target + "]") : "")) : null; + + return ((elementDescription ? (elementDescription + ".") : + (targetWindowDescription ? (targetWindowDescription + ".") : ""))) + + testCase.propertySequence.join("."); +} + +function assignJavascriptURLToInjectionSink(testCase) { + const element = ("elementId" in testCase) ? + document.getElementById(testCase.elementId) : null; + + let currentObject = element ? element : testCase.targetWindow; + + const propertySequence = testCase.propertySequence; + for (let i = 0; i < propertySequence.length - 1; ++i) { + currentObject = currentObject[propertySequence[i]]; + } + + currentObject[propertySequence.at(-1)] = + "javascript:parent.postMessage('executed', '*')"; + + if ("navigationFunction" in testCase) { + element[testCase.navigationFunction](); + } +} diff --git a/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html b/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html index e95e71c59bc..84d74ad3f8a 100644 --- a/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html +++ b/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html @@ -2,19 +2,136 @@ <head> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="support/utils.js"></script> </head> <body> -<iframe src="support/frame-with-csp.sub.html?csp=script-src%20%27unsafe-inline%27"></iframe> -<div onclick="frames[0].location.href = 'javascript:parent.postMessage(\'executed\', \'*\')'" id="special_div"></div> +<iframe id="iframeWithScriptSrcUnsafeInline" name="iframeWithScriptSrcUnsafeInline"></iframe> +<iframe id="iframeWithScriptSrcNone" name="iframeWithScriptSrcNone"></iframe> +<a target="iframeWithScriptSrcUnsafeInline" id="anchorWithTargetScriptSrcUnsafeInline">a</a> +<a target="iframeWithScriptSrcNone" id="anchorWithTargetScriptSrcNone">a2</a> +<map name="m"> + <area target="iframeWithScriptSrcNone" id="areaWithTargetIframeWithScriptSrcNone" shape="default"> + <area target="otherTabWithScriptSrcNone" id="areWithTargetOtherTabWithScriptSrcNone" shape="default"> +</map> +<img usemap="#m" alt="i"> + <script> - var t = async_test("Should have executed the javascript url"); - frames[0].addEventListener('load', () => { - window.onmessage = t.step_func(function(e) { - if (e.data == "executed") - t.done(); + // Since another tab is opened, this test suite needs to explicitly signal + // when it's done. Otherwise, the tests which wait for the tab to finish + // loading aren't executed. See, + // https://web-platform-tests.org/writing-tests/testharness-api.html#determining-when-all-tests-are-complete. + setup({explicit_done: true}); + + function encodeURIWithApostrophes(uriWithApostrophes) { + const encodedURI = encodeURI(uriWithApostrophes); + // https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding + return encodedURI.replaceAll("'","%27"); + } + + const kIframeURLPath = "support/frame-with-csp.sub.html"; + + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#unsafe-inline + document.getElementById("iframeWithScriptSrcUnsafeInline").src = + encodeURIWithApostrophes(kIframeURLPath + "?csp=script-src 'unsafe-inline'"); + document.getElementById("iframeWithScriptSrcNone").src = + encodeURIWithApostrophes(kIframeURLPath + "?csp=script-src 'none'"); + + window.addEventListener('load', () => { + const kTestCasesWithoutCSPViolation = [ + { elementId: "iframeWithScriptSrcUnsafeInline", + propertySequence: ["contentWindow", "location", "href"], + }, + { elementId: "iframeWithScriptSrcUnsafeInline", + propertySequence: ["src"], + }, + { elementId: "anchorWithTargetScriptSrcUnsafeInline", + propertySequence: ["href"], + navigationFunction: "click", + }, + ]; + + for (const testCase of kTestCasesWithoutCSPViolation) { + const injectionSinkDescription = determineInjectionSinkDescription(testCase); + + promise_test(t => { return new Promise(resolve => { + window.addEventListener("message", t.step_func(function(e) { + if (e.data == "executed") { + resolve(); + } + }), { once: true }); + + window.addEventListener('securitypolicyviolation', + t.unreached_func("Should not have raised a violation event"), + { once: true } + ); + + assignJavascriptURLToInjectionSink(testCase); + })}, `Should have executed the javascript url for + ${injectionSinkDescription} with child's CSP "script-src 'unsafe-inline'"`); + } + + const otherTabWithScriptSrcNone = window.open( + encodeURIWithApostrophes(kIframeURLPath + "?csp=script-src 'none'"), + "otherTabWithScriptSrcNone"); + + const iframeWithScriptSrcNoneContentWindow = + document.getElementById("iframeWithScriptSrcNone").contentWindow; + + otherTabWithScriptSrcNone.addEventListener("load", () => { + const kTestCasesWithCSPViolation = [ + { elementId: "iframeWithScriptSrcNone", + propertySequence: ["contentWindow", "location", "href"], + targetWindow: iframeWithScriptSrcNoneContentWindow, + }, + { elementId: "iframeWithScriptSrcNone", + propertySequence: ["src"], + targetWindow: iframeWithScriptSrcNoneContentWindow, + }, + { targetWindow: otherTabWithScriptSrcNone, + propertySequence: ["location", "href"], + }, + { elementId: "anchorWithTargetScriptSrcNone", + propertySequence: ["href"], + targetWindow: iframeWithScriptSrcNoneContentWindow, + navigationFunction: "click", + }, + { elementId: "areaWithTargetIframeWithScriptSrcNone", + propertySequence: ["href"], + targetWindow: iframeWithScriptSrcNoneContentWindow, + navigationFunction: "click", + }, + { elementId: "areWithTargetOtherTabWithScriptSrcNone", + propertySequence: ["href"], + targetWindow: otherTabWithScriptSrcNone, + navigationFunction: "click", + }, + ]; + + for (const testCase of kTestCasesWithCSPViolation) { + const injectionSinkDescription = determineInjectionSinkDescription(testCase); + + promise_test(t => { return new Promise(resolve => { + const targetWindow = ("targetWindow" in testCase) ? + testCase.targetWindow : window; + + targetWindow.addEventListener("message", + t.unreached_func("Should not have received a message"), + { once: true } + ); + + targetWindow.addEventListener("securitypolicyviolation", e => { + assert_equals(e.violatedDirective, "script-src-elem"); + assert_equals(e.blockedURI, "inline"); + resolve(); + }, { once : true }); + + assignJavascriptURLToInjectionSink(testCase); + })}, `Should not have executed the javascript URL for + ${injectionSinkDescription} with child's CSP "script-src 'none'"`); + } + + done(); }); - window.addEventListener('securitypolicyviolation', t.unreached_func("Should not have raised a violation event")); - document.getElementById('special_div').click(); }); </script> </body> diff --git a/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html b/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html index 98052c42c1e..53057f449f1 100644 --- a/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html +++ b/tests/wpt/tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html @@ -3,23 +3,75 @@ <meta http-equiv="content-security-policy" content="script-src 'self' 'nonce-abc'"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="support/utils.js"></script> </head> <body> -<iframe src="support/frame-with-csp.sub.html"></iframe> -<script nonce='abc'> - var t = async_test("Should not have executed the javascript url"); +<!-- <frame-with-csp.sub.html> without parameters corresponds to no csp.--> +<iframe id="iframe" name="iframe" src="support/frame-with-csp.sub.html"></iframe> + +<a target="iframe" id="anchorElementWithTargetIframe">a</a> + +<a target="otherTab" id="anchorElementWithTargetOtherTab">a2</a> - frames[0].addEventListener('load', () => { - window.onmessage = t.step_func(function(e) { +<map name="m"> + <area target="iframe" id="areaElementWithTargetIframe" shape="default"> + <area target="otherTab" id="areaElementWithTargetOtherTab" shape="default"> +</map> +<img usemap="#m" alt="i"> + +<script nonce='abc'> + function addSuccessAndFailureEventListeners(test, resolve) { + window.addEventListener("message", test.step_func(function(e) { if (e.data == "executed") assert_true(false, "Javascript url executed"); - }); - window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { + }), { once: true }); + window.addEventListener('securitypolicyviolation', test.step_func_done(function(e) { assert_equals(e.blockedURI, 'inline'); assert_equals(e.violatedDirective, 'script-src-elem'); - })); + resolve(); + }), { once: true }); + } + + const otherTab = window.open("about:blank", "otherTab"); + + const kTestCases = [ + { elementId: "iframe", + propertySequence: ["contentWindow", "location", "href"], + }, + { elementId: "iframe", + propertySequence: ["src"], + }, + { targetWindow: otherTab, + propertySequence: ["location", "href"], + }, + { elementId: "areaElementWithTargetIframe", + propertySequence: ["href"], + navigationFunction: "click", + }, + { elementId: "areaElementWithTargetOtherTab", + propertySequence: ["href"], + navigationFunction: "click", + }, + { elementId: "anchorElementWithTargetOtherTab", + propertySequence: ["href"], + navigationFunction: "click", + }, + { elementId: "anchorElementWithTargetIframe", + propertySequence: ["href"], + navigationFunction: "click", + }, + ] + + for (const testCase of kTestCases) { + const injectionSinkDescription = + determineInjectionSinkDescription(testCase); + + promise_test(t => new Promise(resolve => { + addSuccessAndFailureEventListeners(t, resolve); - frames[0].location.href = "javascript:parent.postMessage('executed', '*')"; - }); + assignJavascriptURLToInjectionSink(testCase); + }), `Should not have executed the javascript url for + ${injectionSinkDescription}`); + } </script> </body> diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-size-parse-valid.html b/tests/wpt/tests/css/css-anchor-position/anchor-size-parse-valid.html index 0d874ca3899..b8ecb9b0607 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-size-parse-valid.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-size-parse-valid.html @@ -98,7 +98,9 @@ test_valid_value('width', 'anchor-size(--foo, 10px)'); test_valid_value('width', 'anchor-size(10px)'); // Tests that anchor-size() can be used in a calc tree -test_valid_value('width', 'calc((anchor-size(--foo width) + anchor-size(--bar height)) / 2)'); +// Still follow the simplification process as outlined in https://drafts.csswg.org/css-values-4/#calc-simplification +test_valid_value('width', 'calc((anchor-size(--foo width) + anchor-size(--bar height)) / 2)', 'calc(0.5 * (anchor-size(--foo width) + anchor-size(--bar height)))'); +test_valid_value('width', 'calc(0.5 * (anchor-size(--foo width) + anchor-size(--bar height)))'); test_valid_value('width', 'anchor-size(--foo width, calc(anchor-size(--bar height) * 0.5))'); test_valid_value('width', 'min(100px, 10%, anchor-size(--foo width), anchor-size(--bar height))'); </script> diff --git a/tests/wpt/tests/css/css-anchor-position/popover-implicit-anchor.tentative.html b/tests/wpt/tests/css/css-anchor-position/popover-implicit-anchor.html index b6bba4534c0..b6bba4534c0 100644 --- a/tests/wpt/tests/css/css-anchor-position/popover-implicit-anchor.tentative.html +++ b/tests/wpt/tests/css/css-anchor-position/popover-implicit-anchor.html diff --git a/tests/wpt/tests/css/css-animations/WEB_FEATURES.yml b/tests/wpt/tests/css/css-animations/WEB_FEATURES.yml index 2059bd49274..398217c4587 100644 --- a/tests/wpt/tests/css/css-animations/WEB_FEATURES.yml +++ b/tests/wpt/tests/css/css-animations/WEB_FEATURES.yml @@ -3,3 +3,6 @@ features: files: - animation-composition.html - animation-composition-* +- name: display-animation + files: + - display-interpolation.html diff --git a/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-002.html b/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-002.html index 1826e9d1d78..1344aba23d0 100644 --- a/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-002.html +++ b/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-002.html @@ -4,14 +4,26 @@ <link rel="help" href="https://issues.chromium.org/issues/40287080"> <meta name="assert" content="The SPAN starts in the first fragmentainer, and ends in the fourth. The second fragmentainer has no inline content, due to a tall float"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<style> + .ib { + display: inline-block; + vertical-align: top; + width: 100%; + height: 50px; + background: green; + } +</style> <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> -<div style="width:100px; height:100px; background:red;"> - <div style="width:50px; columns:1; column-fill:auto; gap:0; height:100px; orphans:1; widows:1; background:green"> - <div style="height:5px;"></div> - <div id="inner" style="columns:2; width:11px; gap:0; column-fill:auto;"> +<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; line-height:50px; orphans:1; widows:1; background:red;"> + <div style="height:50px; background:green;"></div> + <div style="break-inside:avoid; float:left; width:100%; height:100px; background:green;"></div> + <div> <span style="position:relative;"> - - <div style="display:inline-block; width:50px; height:100px; background:green;"></div> + <div class="ib"></div> + <div class="ib"></div> + <div class="ib"></div> + <div class="ib"></div> + <div class="ib"></div> </span> </div> </div> diff --git a/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-003-crash.html b/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-003-crash.html new file mode 100644 index 00000000000..63e62e5c48e --- /dev/null +++ b/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-003-crash.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://issues.chromium.org/issues/379259810"> +<div style="columns:3; height:0;"> + <div style="border-top:solid;"> + <span style="position:relative;">x</span> + </div> +</div> diff --git a/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-004-crash.html b/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-004-crash.html new file mode 100644 index 00000000000..2a29f4745ac --- /dev/null +++ b/tests/wpt/tests/css/css-break/inline-skipping-fragmentainer-004-crash.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://issues.chromium.org/issues/379779786"> +<div style="columns:2; column-fill:auto; height:100px; orphans:1; widows:1;"> + <div style="height:8px;"></div> + <div style="columns:2; column-fill:auto;"> + <div id="oisann" style="display:inline-block; width:100%; height:10px;"></div> + <div id="oppsann" style="display:inline-block; width:100%; height:150px;"></div> + <span style="position:relative;">o</span> + </div> +</div> diff --git a/tests/wpt/tests/css/css-cascade/scope-declarations.html b/tests/wpt/tests/css/css-cascade/scope-declarations.html new file mode 100644 index 00000000000..aaccab9794b --- /dev/null +++ b/tests/wpt/tests/css/css-cascade/scope-declarations.html @@ -0,0 +1,106 @@ +<!DOCTYPE html> +<title>@scope - scoped declarations</title> +<link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scoped-declarations"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<main id=main></main> + +<template id=test_apply_root> + <style> + @scope (.a) { + z-index: 1; + } + </style> + <div class=a></div> +</template> +<script> +test((t) => { + t.add_cleanup(() => main.replaceChildren()); + main.append(test_apply_root.content.cloneNode(true)); + assert_equals(getComputedStyle(main.querySelector('.a')).zIndex, '1'); +}, 'Scoped declarations apply to the scoping root'); +</script> + +<template id=test_apply_implicit_root> + <div class=a> + <style> + @scope { + z-index: 1; + } + </style> + </div> +</template> +<script> +test((t) => { + t.add_cleanup(() => main.replaceChildren()); + main.append(test_apply_implicit_root.content.cloneNode(true)); + assert_equals(getComputedStyle(main.querySelector('.a')).zIndex, '1'); +}, 'Scoped declarations apply to implicit scoping root'); +</script> + +<template id=test_zero_specificity> + <style> + @scope (.a) { + :where(:scope) { + z-index: 1; + } + z-index: 2; /* Wins due to order */ + } + @scope (.b) { + z-index: 1; + :where(:scope) { + z-index: 2; /* Wins due to order */ + } + } + @scope (.c) { + :scope { + z-index: 1; /* Wins due to specificity */ + } + z-index: 2; + } + </style> + <div class=a></div> + <div class=b></div> + <div class=c></div> +</template> +<script> +test((t) => { + t.add_cleanup(() => main.replaceChildren()); + main.append(test_zero_specificity.content.cloneNode(true)); + assert_equals(getComputedStyle(main.querySelector('.a')).zIndex, '2'); + assert_equals(getComputedStyle(main.querySelector('.b')).zIndex, '2'); + assert_equals(getComputedStyle(main.querySelector('.c')).zIndex, '1'); +}, 'Scoped declarations apply with zero specificity'); +</script> + +<script> + +for (let prelude of ['(.a)', '']) { + test((t) => { + let sheet = new CSSStyleSheet(); + sheet.replaceSync(` + @scope ${prelude} { + color: red; + width: 1px; + .b {} + left: 2px; + right: 3px; + .c {} + top: 4px; + bottom: 5px; + } + `); + assert_equals(sheet.cssRules.length, 1); + let scope_rule = sheet.cssRules[0]; + assert_equals(scope_rule.cssRules.length, 5); + + assert_true(scope_rule.cssRules[0] instanceof CSSNestedDeclarations); + assert_equals(scope_rule.cssRules[0].cssText, 'color: red; width: 1px;'); + assert_true(scope_rule.cssRules[2] instanceof CSSNestedDeclarations); + assert_equals(scope_rule.cssRules[2].cssText, 'left: 2px; right: 3px;'); + assert_true(scope_rule.cssRules[4] instanceof CSSNestedDeclarations); + assert_equals(scope_rule.cssRules[4].cssText, 'top: 4px; bottom: 5px;'); + }, `Declarations are parsed into CSSNestedDeclarations, prelude=${prelude}`); +} + +</script> diff --git a/tests/wpt/tests/css/css-cascade/scope-implicit.html b/tests/wpt/tests/css/css-cascade/scope-implicit.html index a1c6d1c6264..2fff1dd1d25 100644 --- a/tests/wpt/tests/css/css-cascade/scope-implicit.html +++ b/tests/wpt/tests/css/css-cascade/scope-implicit.html @@ -229,3 +229,30 @@ test((t) => { assert_equals(getComputedStyle(outer).zIndex, '3'); }, 'Proximity calculation of multiple implicit @scope'); </script> + +<!-- https://issues.chromium.org/issues/377647716 --> +<template id=test_implicit_sandwich> + <div id=outer> + <div class=foo> + <style> + @scope (#outer) { + @scope { + @scope (#inner) { + :scope { + z-index: 1; + } + } + } + } + </style> + <div id=inner></div> + </div> + </div> +</template> +<script> +test((t) => { + t.add_cleanup(() => main.replaceChildren()); + main.append(test_implicit_sandwich.content.cloneNode(true)); + assert_equals(getComputedStyle(inner).zIndex, '1'); +}, 'Implicit @scope sandwiched between non-implicit scopes'); +</script> diff --git a/tests/wpt/tests/css/css-cascade/scope-shadow.html b/tests/wpt/tests/css/css-cascade/scope-shadow.html index 6aa1f3fce80..16956d838bd 100644 --- a/tests/wpt/tests/css/css-cascade/scope-shadow.html +++ b/tests/wpt/tests/css/css-cascade/scope-shadow.html @@ -159,3 +159,75 @@ assert_equals(getComputedStyle(a).zIndex, '2'); }, 'Implicit @scope in construted stylesheet'); </script> + +<div id=scope_via_parent_pseudo_subject> + <div class=host> + <template shadowrootmode=open> + <style> + @scope (:host) { + :scope { + & { + z-index: 1; + } + } + } + </style> + </template> + </div> +</div> +<script> + test(() => { + let host = scope_via_parent_pseudo_subject.querySelector('.host'); + assert_equals(getComputedStyle(host).zIndex, '1'); + }, 'Matching :host via &, :scope (subject)'); +</script> + +<div id=scope_via_parent_pseudo_non_subject> + <div class=host> + <template shadowrootmode=open> + <style> + @scope (:host) { + :scope .a { + & { + z-index: 1; + } + } + } + </style> + <div class=a> + </div> + </template> + </div> +</div> +<script> + test(() => { + let host = scope_via_parent_pseudo_non_subject.querySelector('.host'); + let a = host.shadowRoot.querySelector('.a'); + assert_equals(getComputedStyle(a).zIndex, '1'); + }, 'Matching :host via &, :scope (non-subject)'); +</script> + +<div id=scope_via_parent_pseudo_non_subject_child> + <div class=host> + <template shadowrootmode=open> + <style> + @scope (:host) { + :scope > .a { + & { + z-index: 1; + } + } + } + </style> + <div class=a> + </div> + </template> + </div> +</div> +<script> + test(() => { + let host = scope_via_parent_pseudo_non_subject_child.querySelector('.host'); + let a = host.shadowRoot.querySelector('.a'); + assert_equals(getComputedStyle(a).zIndex, '1'); + }, 'Matching :host via &, :scope (non-subject, >)'); +</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html deleted file mode 100644 index e45326a2ffe..00000000000 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-overflowing-parsing.html +++ /dev/null @@ -1,34 +0,0 @@ -<!DOCTYPE html> -<title>CSS Conditional Test: @container overflowing query parsing</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-rule"> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> -<div style="container-name:name;container-type:scroll-state"> - <main id="cq-main"></main> -</div> -<script> - setup(() => assert_implements_scroll_state_container_queries()); - - test_cq_condition_known('scroll-state(overflowing)'); - test_cq_condition_known('scroll-state(overflowing: none)'); - test_cq_condition_known('scroll-state(overflowing: top)'); - test_cq_condition_known('scroll-state(overflowing: left)'); - test_cq_condition_known('scroll-state(overflowing: bottom)'); - test_cq_condition_known('scroll-state(overflowing: right)'); - test_cq_condition_known('scroll-state(overflowing: inline-start)'); - test_cq_condition_known('scroll-state(overflowing: inline-end)'); - test_cq_condition_known('scroll-state(overflowing: block-start)'); - test_cq_condition_known('scroll-state(overflowing: block-end)'); - test_cq_condition_known('(scroll-state(overflowing: inline-end))'); - test_cq_condition_known('scroll-state((overflowing: left))'); - test_cq_condition_known('scroll-state(not ((overflowing: bottom) and (overflowing: right)))'); - test_cq_condition_known('scroll-state((overflowing: left) or (overflowing: top))'); - - test_cq_condition_unknown('scroll-state(overflowing: auto)'); - test_cq_condition_unknown('scroll-state(overflowing: true)'); - test_cq_condition_unknown('scroll-state(style(overflowing: left))'); - test_cq_condition_unknown('style(scroll-state(overflowing: left))'); - test_cq_condition_unknown('scroll-state(overflowing:)'); -</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html deleted file mode 100644 index 75a2be3bb78..00000000000 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-overflowing-serialization.html +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE html> -<title>CSS Container Queries: scroll-state(overflowing) conditionText serialization</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-queries"> -<link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-rule"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> -<style id="testSheet"> - @container scroll-state( overflowing:left) { } - @container scroll-STate(overflowing: ) { } - @container scroll-STate(overflowing) { } - @container scroll-state( ( overflowing: LEFT) OR ( OVERFLOWING: BOTTOM ) ) { } - @container scroll-state (overflowing: right) { } -</style> -<script> - setup(() => { - assert_implements_scroll_state_container_queries(); - assert_equals(testSheet.sheet.cssRules.length, 5); - }); - - const tests = [ - ["scroll-state(overflowing: left)", "Normalize spaces"], - ["scroll-STate(overflowing: )", "No value - invalid, serializes as <general-enclosed>"], - ["scroll-state(overflowing)", "Boolean context"], - ["scroll-state((overflowing: left) or (overflowing: bottom))", "Logical with 'or'"], - ["scroll-state (overflowing: right)", "Not a scroll-state function with space before '('"] - ].map((e, i) => [testSheet.sheet.cssRules[i], ...e]); - - tests.forEach((t) => { - test(() => assert_equals(t[0].conditionText, t[1]), t[2]); - }); -</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html new file mode 100644 index 00000000000..298e2023a33 --- /dev/null +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<title>CSS Conditional Test: @container scrollable query parsing</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-rule"> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> +<div style="container-name:name;container-type:scroll-state"> + <main id="cq-main"></main> +</div> +<script> + setup(() => assert_implements_scroll_state_container_queries()); + + test_cq_condition_known('scroll-state(scrollable)'); + test_cq_condition_known('scroll-state(scrollable: none)'); + test_cq_condition_known('scroll-state(scrollable: top)'); + test_cq_condition_known('scroll-state(scrollable: left)'); + test_cq_condition_known('scroll-state(scrollable: bottom)'); + test_cq_condition_known('scroll-state(scrollable: right)'); + test_cq_condition_known('scroll-state(scrollable: inline-start)'); + test_cq_condition_known('scroll-state(scrollable: inline-end)'); + test_cq_condition_known('scroll-state(scrollable: block-start)'); + test_cq_condition_known('scroll-state(scrollable: block-end)'); + test_cq_condition_known('scroll-state(scrollable: block)'); + test_cq_condition_known('scroll-state(scrollable: x)'); + test_cq_condition_known('scroll-state(scrollable: y)'); + test_cq_condition_known('scroll-state(scrollable: inline)'); + test_cq_condition_known('(scroll-state(scrollable: inline-end))'); + test_cq_condition_known('scroll-state((scrollable: left))'); + test_cq_condition_known('scroll-state(not ((scrollable: bottom) and (scrollable: right)))'); + test_cq_condition_known('scroll-state((scrollable: left) or (scrollable: top))'); + + test_cq_condition_unknown('scroll-state(scrollable: auto)'); + test_cq_condition_unknown('scroll-state(scrollable: true)'); + test_cq_condition_unknown('scroll-state(style(scrollable: left))'); + test_cq_condition_unknown('style(scroll-state(scrollable: left))'); + test_cq_condition_unknown('scroll-state(scrollable:)'); +</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html new file mode 100644 index 00000000000..6aef321ce4b --- /dev/null +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<title>CSS Container Queries: scroll-state(scrollable) conditionText serialization</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-queries"> +<link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-rule"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> +<style id="testSheet"> + @container scroll-state( scrollable:left) { } + @container scroll-STate(scrollable: ) { } + @container scroll-STate(scrollable) { } + @container scroll-state( ( scrollable: LEFT) OR ( SCROLLABLE: BOTTOM ) ) { } + @container scroll-state (scrollable: right) { } +</style> +<script> + setup(() => { + assert_implements_scroll_state_container_queries(); + assert_equals(testSheet.sheet.cssRules.length, 5); + }); + + const tests = [ + ["scroll-state(scrollable: left)", "Normalize spaces"], + ["scroll-STate(scrollable: )", "No value - invalid, serializes as <general-enclosed>"], + ["scroll-state(scrollable)", "Boolean context"], + ["scroll-state((scrollable: left) or (scrollable: bottom))", "Logical with 'or'"], + ["scroll-state (scrollable: right)", "Not a scroll-state function with space before '('"] + ].map((e, i) => [testSheet.sheet.cssRules[i], ...e]); + + tests.forEach((t) => { + test(() => assert_equals(t[0].conditionText, t[1]), t[2]); + }); +</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-snapped-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-snapped-parsing.html index adeace0a7d4..1205194c6e5 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-snapped-parsing.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/at-container-snapped-parsing.html @@ -16,6 +16,7 @@ test_cq_condition_known('scroll-state(snapped: none)'); test_cq_condition_known('scroll-state(snapped: block)'); test_cq_condition_known('scroll-state(snapped: inline)'); + test_cq_condition_known('scroll-state(snapped: both)'); test_cq_condition_known('(scroll-state(snapped: block))'); test_cq_condition_known('scroll-state((snapped: inline))'); test_cq_condition_known('scroll-state(not ((snapped: inline) and (snapped: block)))'); diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/multiple-scroll-state-containers-comma-separated-queries.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/multiple-scroll-state-containers-comma-separated-queries.html index f1622c1e758..1b48f486020 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/multiple-scroll-state-containers-comma-separated-queries.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/multiple-scroll-state-containers-comma-separated-queries.html @@ -27,18 +27,18 @@ --match-combined: no; } - @container scroll-state(overflowing), --container scroll-state(overflowing) { + @container scroll-state(scrollable), --container scroll-state(scrollable) { #target { --match: yes; } } - @container scroll-state(overflowing) { + @container scroll-state(scrollable) { #target { --match: no-way; } } - @container scroll-state((overflowing:right) and (overflowing:bottom)), - (inline-size) and scroll-state((overflowing:right) and (overflowing:bottom)) { + @container scroll-state((scrollable:right) and (scrollable:bottom)), + (inline-size) and scroll-state((scrollable:right) and (scrollable:bottom)) { #target { --match-combined: yes; } } - @container scroll-state((overflowing:right) and (overflowing:bottom)) { + @container scroll-state((scrollable:right) and (scrollable:bottom)) { #target { --match-combined: no-way; } } </style> @@ -57,7 +57,7 @@ test(() => { assert_equals(getComputedStyle(target).getPropertyValue("--match"), "yes"); - }, "Should match the named outer container for scroll-state(overflowing)"); + }, "Should match the named outer container for scroll-state(scrollable)"); test(() => { assert_equals(getComputedStyle(target).getPropertyValue("--match-combined"), "yes"); diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html index fe26333e55c..3b40d7777f0 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-initially-overflowing.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-initially-scrollable.html @@ -1,6 +1,6 @@ <!DOCTYPE html> -<title>@container: scroll-state(overflowing) matching for initial rendering</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> +<title>@container: scroll-state(scrollable) matching for initial rendering</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> @@ -30,13 +30,13 @@ --bottom: no; --none: no; } - @container scroll-state(overflowing: top) { + @container scroll-state(scrollable: top) { span { --top: yes; } } - @container scroll-state(overflowing: bottom) { + @container scroll-state(scrollable: bottom) { span { --bottom: yes; } } - @container scroll-state(overflowing: none) { + @container scroll-state(scrollable: none) { span { --none: yes; } } </style> @@ -72,48 +72,48 @@ assert_equals(getComputedStyle(t1).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t1).getPropertyValue("--bottom"), "no"); assert_equals(getComputedStyle(t1).getPropertyValue("--none"), "yes"); - }, "overflow:visible, no overflowing content - no matches"); + }, "overflow:visible, no scrollable content - no matches"); promise_test(async t => { assert_equals(getComputedStyle(t2).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t2).getPropertyValue("--bottom"), "no"); assert_equals(getComputedStyle(t2).getPropertyValue("--none"), "yes"); - }, "overflow:auto, no overflowing content - no matches"); + }, "overflow:auto, no scrollable content - no matches"); promise_test(async t => { assert_equals(getComputedStyle(t3).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t3).getPropertyValue("--bottom"), "no"); assert_equals(getComputedStyle(t3).getPropertyValue("--none"), "yes"); - }, "overflow:scroll, no overflowing content - no matches"); + }, "overflow:scroll, no scrollable content - no matches"); promise_test(async t => { assert_equals(getComputedStyle(t4).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t4).getPropertyValue("--bottom"), "no"); assert_equals(getComputedStyle(t4).getPropertyValue("--none"), "yes"); - }, "overflow:clip, no overflowing content - no matches"); + }, "overflow:clip, no scrollable content - no matches"); promise_test(async t => { assert_equals(getComputedStyle(t5).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t5).getPropertyValue("--bottom"), "no"); assert_equals(getComputedStyle(t5).getPropertyValue("--none"), "yes"); - }, "overflow:visible, overflowing content - no matches"); + }, "overflow:visible, scrollable content - no matches"); promise_test(async t => { assert_equals(getComputedStyle(t6).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t6).getPropertyValue("--bottom"), "yes"); assert_equals(getComputedStyle(t6).getPropertyValue("--none"), "no"); - }, "overflow:auto, overflowing content - matches overflowing:bottom"); + }, "overflow:auto, scrollable content - matches scrollable:bottom"); promise_test(async t => { assert_equals(getComputedStyle(t7).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t7).getPropertyValue("--bottom"), "yes"); assert_equals(getComputedStyle(t7).getPropertyValue("--none"), "no"); - }, "overflow:scroll, overflowing content - matches overflowing:bottom"); + }, "overflow:scroll, scrollable content - matches scrollable:bottom"); promise_test(async t => { assert_equals(getComputedStyle(t8).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(t8).getPropertyValue("--bottom"), "no"); assert_equals(getComputedStyle(t8).getPropertyValue("--none"), "yes"); - }, "overflow:clip, overflowing content - no matches"); + }, "overflow:clip, scrollable content - no matches"); </script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html deleted file mode 100644 index 137808db805..00000000000 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-wm.html +++ /dev/null @@ -1,123 +0,0 @@ -<!DOCTYPE html> -<title>@container: scroll-state(overflowing) matching for writing direction</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> -<script src="/css/css-transitions/support/helper.js"></script> -<style> - .overflowing { - container-type: scroll-state; - width: 100px; - height: 100px; - overflow: auto; - &::before { - display: block; - content: " " - } - &.h::before { - width: 200px; - height: 10px; - } - &.v::before { - width: 10px; - height: 200px; - } - } - .target { - @container scroll-state(overflowing: block-start) { --block-start: yes } - @container scroll-state(overflowing: block-end) { --block-end: yes } - @container scroll-state(overflowing: inline-start) { --inline-start: yes } - @container scroll-state(overflowing: inline-end) { --inline-end: yes } - @container scroll-state(overflowing: top) { --top: yes } - @container scroll-state(overflowing: left) { --left: yes } - @container scroll-state(overflowing: bottom) { --bottom: yes } - @container scroll-state(overflowing: right) { --right: yes } - } - .ltr { direction: ltr; } - .rtl { direction: rtl; } - .htb { writing-mode: horizontal-tb; } - .vlr { writing-mode: vertical-lr; } - .vrl { writing-mode: vertical-rl; } -</style> -<div class="overflowing h htb ltr"><span class="target"></span></div> -<div class="overflowing h htb rtl"><span class="target"></span></div> -<div class="overflowing h vlr ltr"><span class="target"></span></div> -<div class="overflowing h vlr rtl"><span class="target"></span></div> -<div class="overflowing h vrl ltr"><span class="target"></span></div> -<div class="overflowing h vrl rtl"><span class="target"></span></div> -<div class="overflowing v htb ltr"><span class="target"></span></div> -<div class="overflowing v htb rtl"><span class="target"></span></div> -<div class="overflowing v vlr ltr"><span class="target"></span></div> -<div class="overflowing v vlr rtl"><span class="target"></span></div> -<div class="overflowing v vrl ltr"><span class="target"></span></div> -<div class="overflowing v vrl rtl"><span class="target"></span></div> -<script> - setup(() => assert_implements_scroll_state_container_queries()); - - function match_overflowing(container_selector, expected_matches) { - let scroller = document.querySelector(container_selector + " .target"); - let style = getComputedStyle(scroller); - for (let custom_prop of [ "--block-start", - "--block-end", - "--inline-start", - "--inline-end", - "--top", - "--left", - "--bottom", - "--right" ]) { - assert_equals(style.getPropertyValue(custom_prop) === "yes", - expected_matches[custom_prop] === true, custom_prop); - } - } - - promise_test(async t => { - await waitForAnimationFrames(2); - match_overflowing(".overflowing.h.htb.ltr", {"--inline-end": true, "--right": true }); - }, "scroll-state(overflowing) horizontal scrollbar horizontal-tb/ltr"); - - promise_test(async t => { - match_overflowing(".overflowing.h.htb.rtl", {"--inline-end": true, "--left": true }); - }, "scroll-state(overflowing) horizontal scrollbar horizontal-tb/rtl"); - - promise_test(async t => { - match_overflowing(".overflowing.h.vlr.ltr", {"--block-end": true, "--right": true }); - }, "scroll-state(overflowing) horizontal scrollbar vertical-lr/ltr"); - - promise_test(async t => { - match_overflowing(".overflowing.h.vlr.rtl", {"--block-end": true, "--right": true }); - }, "scroll-state(overflowing) horizontal scrollbar vertical-lr/rtl"); - - promise_test(async t => { - match_overflowing(".overflowing.h.vrl.ltr", {"--block-end": true, "--left": true }); - }, "scroll-state(overflowing) horizontal scrollbar vertical-rl/ltr"); - - promise_test(async t => { - match_overflowing(".overflowing.h.vrl.rtl", {"--block-end": true, "--left": true }); - }, "scroll-state(overflowing) horizontal scrollbar vertical-rl/rtl"); - - promise_test(async t => { - match_overflowing(".overflowing.v.htb.ltr", {"--block-end": true, "--bottom": true }); - }, "scroll-state(overflowing) vertical scrollbar horizontal-tb/ltr"); - - promise_test(async t => { - match_overflowing(".overflowing.v.htb.rtl", {"--block-end": true, "--bottom": true }); - }, "scroll-state(overflowing) vertical scrollbar horizontal-tb/rtl"); - - promise_test(async t => { - match_overflowing(".overflowing.v.vlr.ltr", {"--inline-end": true, "--bottom": true }); - }, "scroll-state(overflowing) vertical scrollbar vertical-lr/ltr"); - - promise_test(async t => { - match_overflowing(".overflowing.v.vlr.rtl", {"--inline-end": true, "--top": true }); - }, "scroll-state(overflowing) vertical scrollbar vertical-lr/rtl"); - - promise_test(async t => { - match_overflowing(".overflowing.v.vrl.ltr", {"--inline-end": true, "--bottom": true }); - }, "scroll-state(overflowing) vertical scrollbar vertical-rl/ltr"); - - promise_test(async t => { - match_overflowing(".overflowing.v.vrl.rtl", {"--inline-end": true, "--top": true }); - }, "scroll-state(overflowing) vertical scrollbar vertical-rl/rtl"); - -</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-query-with-var.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-query-with-var.html index 457b2612c1e..5d57573dcbf 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-query-with-var.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-query-with-var.html @@ -36,22 +36,22 @@ --match-registered: no; --match-registered-number: no; } - @container scroll-state(overflowing: var(--unknown)) { + @container scroll-state(scrollable: var(--unknown)) { #target { --match-unknown: yes; } } - @container (overflowing: var(--unknown, right)) { + @container (scrollable: var(--unknown, right)) { #target { --match-unknown-fallback: yes; } } - @container (overflowing: var(--unregistered)) { + @container (scrollable: var(--unregistered)) { #target { --match-unregistered: yes; } } - @container (overflowing: var(--unregistered-number)) { + @container (scrollable: var(--unregistered-number)) { #target { --match-unregistered-number: yes; } } - @container (overflowing: var(--registered)) { + @container (scrollable: var(--registered)) { #target { --match-registered: yes; } } - @container (overflowing: var(--registered-number)) { + @container (scrollable: var(--registered-number)) { #target { --match-registered-number: yes; } } </style> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html new file mode 100644 index 00000000000..0f31c95c7ed --- /dev/null +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-axis.html @@ -0,0 +1,67 @@ +<!DOCTYPE html> +<title>@container: scroll-state(scrollable) axis matching</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> +<script src="/css/css-transitions/support/helper.js"></script> +<style> + .scroller { + writing-mode: vertical-lr; + width: 200px; + height: 200px; + container-type: scroll-state; + overflow: scroll; + } + .scroller.horizontal::after { + content: " "; + display: block; + width: 10000px; + height: 10px; + } + .scroller.vertical::after { + content: " "; + display: block; + width: 10px; + height: 10000px; + } + span { + --inline: no; + --block: no; + --x: no; + --y: no; + } + @container scroll-state(scrollable: inline) { + span { --inline: yes; } + } + @container scroll-state(scrollable: block) { + span { --block: yes; } + } + @container scroll-state(scrollable: x) { + span { --x: yes; } + } + @container scroll-state(scrollable: y) { + span { --y: yes; } + } +</style> +<div class="horizontal scroller"><span id="t1"></span></div> +<div class="vertical scroller"><span id="t2"></span></div> +<script> + setup(() => assert_implements_scroll_state_container_queries()); + + promise_test(async t => { + await waitForAnimationFrames(2); + assert_equals(getComputedStyle(t1).getPropertyValue("--x"), "yes", "x-axis"); + assert_equals(getComputedStyle(t1).getPropertyValue("--y"), "no", "y-axis"); + assert_equals(getComputedStyle(t1).getPropertyValue("--block"), "yes", "block-axis"); + assert_equals(getComputedStyle(t1).getPropertyValue("--inline"), "no", "inline-axis"); + }, "Horizontal scroller with orthogonal writing mode"); + + promise_test(async t => { + assert_equals(getComputedStyle(t2).getPropertyValue("--x"), "no", "x-axis"); + assert_equals(getComputedStyle(t2).getPropertyValue("--y"), "yes", "y-axis"); + assert_equals(getComputedStyle(t2).getPropertyValue("--block"), "no", "block-axis"); + assert_equals(getComputedStyle(t2).getPropertyValue("--inline"), "yes", "inline-axis"); + }, "Vertical scroller with orthogonal writing mode"); + +</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html index 15cdc96421f..0554b3d3a03 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-change.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-change.html @@ -1,6 +1,6 @@ <!DOCTYPE html> -<title>@container: scroll-state(overflowing) changed after scroll</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> +<title>@container: scroll-state(scrollable) changed after scroll</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> @@ -18,10 +18,10 @@ #target { --top: no; --bottom: no; - @container scroll-state(overflowing: top) { + @container scroll-state(scrollable: top) { --top: yes; } - @container scroll-state(overflowing: bottom) { + @container scroll-state(scrollable: bottom) { --bottom: yes; } } @@ -39,7 +39,7 @@ assert_equals(getComputedStyle(target).getPropertyValue("--top"), "no"); assert_equals(getComputedStyle(target).getPropertyValue("--bottom"), "yes"); assert_equals(scroller.scrollTop, 0); - }, "Check that scroll-state(overflowing) matches bottom before scroll"); + }, "Check that scroll-state(scrollable) matches bottom before scroll"); promise_test(async t => { scroller.scrollTop = 200; @@ -47,7 +47,7 @@ assert_equals(getComputedStyle(target).getPropertyValue("--top"), "yes"); assert_equals(getComputedStyle(target).getPropertyValue("--bottom"), "yes"); assert_equals(scroller.scrollTop, 200); - }, "Check that scroll-state(overflowing) matches both top and bottom in a middle position"); + }, "Check that scroll-state(scrollable) matches both top and bottom in a middle position"); promise_test(async t => { scroller.scrollTop = 400; @@ -55,6 +55,6 @@ assert_equals(getComputedStyle(target).getPropertyValue("--top"), "yes"); assert_equals(getComputedStyle(target).getPropertyValue("--bottom"), "no"); assert_equals(scroller.scrollTop, 400); - }, "Check that scroll-state(overflowing) matches both top when scrolled to the end"); + }, "Check that scroll-state(scrollable) matches both top when scrolled to the end"); </script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html index ecb12141603..41ee24eb027 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-container-type-change.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-container-type-change.html @@ -1,6 +1,6 @@ <!DOCTYPE html> -<title>@container: scroll-state(overflowing) property changes</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> +<title>@container: scroll-state(scrollable) property changes</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> @@ -15,9 +15,9 @@ #target { width: 200px; height: 200px; - --overflowing: no; - @container scroll-state(overflowing) { - --overflowing: yes; + --scrollable: no; + @container scroll-state(scrollable) { + --scrollable: yes; } } </style> @@ -29,31 +29,31 @@ promise_test(async t => { await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "yes"); - }, "Check scroll-state(overflowing) initially matching"); + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "yes"); + }, "Check scroll-state(scrollable) initially matching"); promise_test(async t => { t.add_cleanup(async () => scroller.style.overflow = ""); scroller.style.overflow = "initial"; await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "no", + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "no", "overflow removed"); scroller.style.overflow = ""; await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "yes", + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "yes", "overflow re-added"); - }, "Check scroll-state(overflowing) not matching when overflow is removed"); + }, "Check scroll-state(scrollable) not matching when overflow is removed"); promise_test(async t => { t.add_cleanup(async () => scroller.style.containerType = ""); scroller.style.containerType = "initial"; await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "no", + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "no", "container-type removed"); scroller.style.containerType = ""; await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "yes", + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "yes", "container-type re-added"); - }, "Check scroll-state(overflowing) not matching when container-type is removed"); + }, "Check scroll-state(scrollable) not matching when container-type is removed"); </script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html index 72344e2943d..81f4c64192c 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-layout-change.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-layout-change.html @@ -1,6 +1,6 @@ <!DOCTYPE html> -<title>@container: scroll-state(overflowing) layout change</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> +<title>@container: scroll-state(scrollable) layout change</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> @@ -15,9 +15,9 @@ #target { width: 200px; height: 200px; - --overflowing: no; - @container scroll-state(overflowing) { - --overflowing: yes; + --scrollable: no; + @container scroll-state(scrollable) { + --scrollable: yes; } } #target.small { @@ -33,19 +33,19 @@ promise_test(async t => { await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "yes"); - }, "Check scroll-state(overflowing) initially matching"); + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "yes"); + }, "Check scroll-state(scrollable) initially matching"); promise_test(async t => { t.add_cleanup(async () => target.className = ""); target.className = "small"; await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "no", - "#target not overflowing #scroller"); + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "no", + "#target not scrollable #scroller"); target.className = ""; await waitForAnimationFrames(2); - assert_equals(getComputedStyle(target).getPropertyValue("--overflowing"), "yes", - "#target overflowing #scroller again"); - }, "Check scroll-state(overflowing) not matching after layout change no longer causing overflow"); + assert_equals(getComputedStyle(target).getPropertyValue("--scrollable"), "yes", + "#target scrollable #scroller again"); + }, "Check scroll-state(scrollable) not matching after layout change no longer causing overflow"); </script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html index cb2638c5c12..e0c6a6e6eca 100644 --- a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-overflowing-pseudo.html +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-pseudo.html @@ -1,6 +1,6 @@ <!DOCTYPE html> -<title>@container: scroll-state(overflowing) for pseudo element</title> -<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#overflowing"> +<title>@container: scroll-state(scrollable) for pseudo element</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> @@ -25,7 +25,7 @@ height: 200%; --before: no; --after: no; - @container scroll-state(overflowing) { + @container scroll-state(scrollable) { &::before { --before: yes; content: " "; @@ -55,6 +55,6 @@ await waitForAnimationFrames(2); assert_equals(getComputedStyle(target, "::before").getPropertyValue("--before"), "yes"); assert_equals(getComputedStyle(target, "::after").getPropertyValue("--after"), "yes"); - }, "::before/::after matching after content starts overflowing #scroller"); + }, "::before/::after matching after content starts scrollable #scroller"); </script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html new file mode 100644 index 00000000000..717205f0045 --- /dev/null +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-scrollable-wm.html @@ -0,0 +1,123 @@ +<!DOCTYPE html> +<title>@container: scroll-state(scrollable) matching for writing direction</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#scrollable"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> +<script src="/css/css-transitions/support/helper.js"></script> +<style> + .scrollable { + container-type: scroll-state; + width: 100px; + height: 100px; + overflow: auto; + &::before { + display: block; + content: " " + } + &.h::before { + width: 200px; + height: 10px; + } + &.v::before { + width: 10px; + height: 200px; + } + } + .target { + @container scroll-state(scrollable: block-start) { --block-start: yes } + @container scroll-state(scrollable: block-end) { --block-end: yes } + @container scroll-state(scrollable: inline-start) { --inline-start: yes } + @container scroll-state(scrollable: inline-end) { --inline-end: yes } + @container scroll-state(scrollable: top) { --top: yes } + @container scroll-state(scrollable: left) { --left: yes } + @container scroll-state(scrollable: bottom) { --bottom: yes } + @container scroll-state(scrollable: right) { --right: yes } + } + .ltr { direction: ltr; } + .rtl { direction: rtl; } + .htb { writing-mode: horizontal-tb; } + .vlr { writing-mode: vertical-lr; } + .vrl { writing-mode: vertical-rl; } +</style> +<div class="scrollable h htb ltr"><span class="target"></span></div> +<div class="scrollable h htb rtl"><span class="target"></span></div> +<div class="scrollable h vlr ltr"><span class="target"></span></div> +<div class="scrollable h vlr rtl"><span class="target"></span></div> +<div class="scrollable h vrl ltr"><span class="target"></span></div> +<div class="scrollable h vrl rtl"><span class="target"></span></div> +<div class="scrollable v htb ltr"><span class="target"></span></div> +<div class="scrollable v htb rtl"><span class="target"></span></div> +<div class="scrollable v vlr ltr"><span class="target"></span></div> +<div class="scrollable v vlr rtl"><span class="target"></span></div> +<div class="scrollable v vrl ltr"><span class="target"></span></div> +<div class="scrollable v vrl rtl"><span class="target"></span></div> +<script> + setup(() => assert_implements_scroll_state_container_queries()); + + function match_scrollable(container_selector, expected_matches) { + let scroller = document.querySelector(container_selector + " .target"); + let style = getComputedStyle(scroller); + for (let custom_prop of [ "--block-start", + "--block-end", + "--inline-start", + "--inline-end", + "--top", + "--left", + "--bottom", + "--right" ]) { + assert_equals(style.getPropertyValue(custom_prop) === "yes", + expected_matches[custom_prop] === true, custom_prop); + } + } + + promise_test(async t => { + await waitForAnimationFrames(2); + match_scrollable(".scrollable.h.htb.ltr", {"--inline-end": true, "--right": true }); + }, "scroll-state(scrollable) horizontal scrollbar horizontal-tb/ltr"); + + promise_test(async t => { + match_scrollable(".scrollable.h.htb.rtl", {"--inline-end": true, "--left": true }); + }, "scroll-state(scrollable) horizontal scrollbar horizontal-tb/rtl"); + + promise_test(async t => { + match_scrollable(".scrollable.h.vlr.ltr", {"--block-end": true, "--right": true }); + }, "scroll-state(scrollable) horizontal scrollbar vertical-lr/ltr"); + + promise_test(async t => { + match_scrollable(".scrollable.h.vlr.rtl", {"--block-end": true, "--right": true }); + }, "scroll-state(scrollable) horizontal scrollbar vertical-lr/rtl"); + + promise_test(async t => { + match_scrollable(".scrollable.h.vrl.ltr", {"--block-end": true, "--left": true }); + }, "scroll-state(scrollable) horizontal scrollbar vertical-rl/ltr"); + + promise_test(async t => { + match_scrollable(".scrollable.h.vrl.rtl", {"--block-end": true, "--left": true }); + }, "scroll-state(scrollable) horizontal scrollbar vertical-rl/rtl"); + + promise_test(async t => { + match_scrollable(".scrollable.v.htb.ltr", {"--block-end": true, "--bottom": true }); + }, "scroll-state(scrollable) vertical scrollbar horizontal-tb/ltr"); + + promise_test(async t => { + match_scrollable(".scrollable.v.htb.rtl", {"--block-end": true, "--bottom": true }); + }, "scroll-state(scrollable) vertical scrollbar horizontal-tb/rtl"); + + promise_test(async t => { + match_scrollable(".scrollable.v.vlr.ltr", {"--inline-end": true, "--bottom": true }); + }, "scroll-state(scrollable) vertical scrollbar vertical-lr/ltr"); + + promise_test(async t => { + match_scrollable(".scrollable.v.vlr.rtl", {"--inline-end": true, "--top": true }); + }, "scroll-state(scrollable) vertical scrollbar vertical-lr/rtl"); + + promise_test(async t => { + match_scrollable(".scrollable.v.vrl.ltr", {"--inline-end": true, "--bottom": true }); + }, "scroll-state(scrollable) vertical scrollbar vertical-rl/ltr"); + + promise_test(async t => { + match_scrollable(".scrollable.v.vrl.rtl", {"--inline-end": true, "--top": true }); + }, "scroll-state(scrollable) vertical scrollbar vertical-rl/rtl"); + +</script> diff --git a/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html new file mode 100644 index 00000000000..f2052192807 --- /dev/null +++ b/tests/wpt/tests/css/css-conditional/container-queries/scroll-state/scroll-state-snapped-both.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<title>@container: scroll-state(snapped: both) matching</title> +<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-rule"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/css-conditional/container-queries/support/cq-testcommon.js"></script> +<script src="/css/css-transitions/support/helper.js"></script> +<style> + :root { + scroll-snap-type: both mandatory; + } + body { + margin: 0; + } + #filler { + width: 10000px; + height: 10000px; + } + #snapped { + margin-top: 200px; + margin-left: 200px; + width: 100px; + height: 100px; + container-type: scroll-state; + scroll-snap-align: start; + background: teal; + } + + @container scroll-state(snapped: both) { + #target { --snapped: yes } + } +</style> +<div id="snapped"> + <span id="target">My container is snapped</span> +</div> +<div id="filler"></div> +<script> + setup(() => assert_implements_scroll_state_container_queries()); + + promise_test(async t => { + await waitForAnimationFrames(2); + assert_equals(getComputedStyle(target).getPropertyValue("--snapped"), "yes"); + assert_equals(document.documentElement.scrollTop, 200); + assert_equals(document.documentElement.scrollLeft, 200); + }, "Check that scroll-state(snapped: block) matches"); +</script> diff --git a/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/descriptor-calc-ref.html b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/descriptor-calc-ref.html new file mode 100644 index 00000000000..99085c1acda --- /dev/null +++ b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/descriptor-calc-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<head> + <title>CSS Test Reference</title> + <link rel="stylesheet" href="support/test-common.css"> + <style type="text/css"> + @counter-style a { + system: extends upper-roman; + range: 1 6; + pad: 4 '*'; + } + @counter-style b { + system: fixed 2; + symbols: g h; + } + @counter-style c { + system: additive; + additive-symbols: 3 c, 2 b, 1 a; + } + </style> +</head> +<body> + <ol style="list-style-type: a;"><li><li><li><li><li><li><li><li><li><li></ol> + <ol style="list-style-type: b;"><li><li><li><li><li><li><li><li><li><li></ol> + <ol style="list-style-type: c;"><li><li><li><li><li><li><li><li><li><li></ol> +</body> diff --git a/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/descriptor-calc.html b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/descriptor-calc.html new file mode 100644 index 00000000000..201f6ef78cf --- /dev/null +++ b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/descriptor-calc.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<head> + <title>CSS Test: calc() in counter-style descriptor</title> + <link rel="help" href="https://drafts.csswg.org/css-counter-styles-3/"> + <link rel="match" href="descriptor-calc-ref.html"> + <link rel="stylesheet" href="support/test-common.css"> + <style type="text/css"> + /* 100em - 1px should be positive with pretty much any initial font size. */ + @counter-style a { + system: extends upper-roman; + range: calc(2 - sign(100em - 1px)) calc(5 + sign(100em - 1px)); + pad: calc(3 + sign(100em - 1px)) '*'; + } + @counter-style b { + system: fixed calc(1 + sign(100em - 1px)); + symbols: g h; + } + @counter-style c { + system: additive; + additive-symbols: calc(2 + sign(100em - 1px)) c, 2 b, 1 a; + } + </style> +</head> +<body> + <ol style="list-style-type: a;"><li><li><li><li><li><li><li><li><li><li></ol> + <ol style="list-style-type: b;"><li><li><li><li><li><li><li><li><li><li></ol> + <ol style="list-style-type: c;"><li><li><li><li><li><li><li><li><li><li></ol> +</body> diff --git a/tests/wpt/tests/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html b/tests/wpt/tests/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html new file mode 100644 index 00000000000..49ebb0f6be0 --- /dev/null +++ b/tests/wpt/tests/css/css-gaps/tentative/parsing/gap-decorations-width-computed.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Gap Decoration: column-rule-width getComputedStyle()</title> +<link rel="help" href="https://kbabbitt.github.io/css-gap-decorations/pr-11115/Overview.html#column-row-rule-width"> +<link rel="author" title="Sam Davis Omekara Jr." href="mailto:samomekarajr@microsoft.com"> +<meta name="assert" content="column-rule-width computed value is as specified."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<style> + #target { + font-size: 40px; + column-rule-style: dotted; + } +</style> +<script> +test_computed_value("column-rule-width", "calc(10px + 0.5em)", "30px"); +test_computed_value("column-rule-width", "calc(10px - 0.5em)", "0px"); + +test_computed_value("column-rule-width", "2px 4px 6px", "2px 4px 6px"); + +test_computed_value("column-rule-width", "repeat(4, 2px)", "repeat(4, 2px)"); + +test_computed_value("column-rule-width", "repeat(auto, 10px)", "repeat(auto, 10px)"); + +test_computed_value("column-rule-width", "repeat(calc(5 + 3), 10px)", "repeat(8, 10px)"); + +test_computed_value("column-rule-width", "repeat(5, 10px calc(10px + 0.5em))", "repeat(5, 10px 30px)"); + +test_computed_value("column-rule-width", "repeat(auto, min(5px, 10px)) repeat(5, 10px) calc(10px + 0.5em)", "repeat(auto, 5px) repeat(5, 10px) 30px"); +</script> +</body> +</html> diff --git a/tests/wpt/tests/css/css-inline/empty-span-size-001-ref.html b/tests/wpt/tests/css/css-inline/empty-span-size-001-ref.html new file mode 100644 index 00000000000..7cdb84a5bb0 --- /dev/null +++ b/tests/wpt/tests/css/css-inline/empty-span-size-001-ref.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-inline-3/#invisible-line-boxes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1931466"> +<style> +.container { + border: 1px solid; +} + +.oa { + height: 100px; +} + +.filler { + height: 100px; + box-sizing: border-box; + border: 1px solid; +} + +ul { + margin: 0; +} + +.button { + box-sizing: border-box; + border-left: 1px solid; + width: 1px; + height: 11px; + display: inline-block; + vertical-align: top; +} +</style> +<div class="container"></div><br> +<div class="container oa"><div class="filler"></div></div><br> +<div class="container"><span style="border: 1px solid; border-right: 2px solid;"></span></div><br> +<div class="container"><ul><li> </li><li> </li></ul></div><br> +<div class="container"><div class="button"></div><span> </span></div><br> diff --git a/tests/wpt/tests/css/css-inline/empty-span-size-001.html b/tests/wpt/tests/css/css-inline/empty-span-size-001.html new file mode 100644 index 00000000000..bbb33c6fc59 --- /dev/null +++ b/tests/wpt/tests/css/css-inline/empty-span-size-001.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html class=reftest-wait> +<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-inline-3/#invisible-line-boxes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1931466"> +<link rel="match" href="empty-span-size-001-ref.html"> +<style> +.container, .has-height { + border: 1px solid; +} + +.inline { + outline: 1px solid; +} + +input { + outline: 1px solid; + background: transparent; + padding: 0; + border: 0; + line-height: 10px; + vertical-align: top; +} + +.oa { + overflow: hidden; + height: 100px; +} + +.filler { + height: 100px; + box-sizing: border-box; + border: 1px solid; +} + +.bad { + background: red; +} + +ul { + margin: 0; +} + +li { + width: 0; +} + +</style> +<!-- Empty inline element in empty line has a height of zero. --> +<div class="container"><span class="inline"></span></div><br> +<!-- Empty inline element should not contribute to scrollable overflow. --> +<div class="container oa"> + <div class="filler bad"></div> + <span id="scrollTarget"></span> + <div class="filler"></div> +</div><br> +<!-- ... But not if the line has a meaningful height. --> +<div class="container"><span class="inline"></span><span class="has-height"></span><span class="inline"></span></div><br> +<!-- ... Or if the line is present in some kind of context that gives a meaningful height. --> +<div class="container"><ul><li></li><li></li></ul></div><br> +<div class="container"><input type="button" value=""></div><br> +<script> +scrollTarget.scrollIntoView(); +document.documentElement.className = ""; +</script> +</html> diff --git a/tests/wpt/tests/css/css-inline/empty-span-size-002-ref.html b/tests/wpt/tests/css/css-inline/empty-span-size-002-ref.html new file mode 100644 index 00000000000..49cbe6cff93 --- /dev/null +++ b/tests/wpt/tests/css/css-inline/empty-span-size-002-ref.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-inline-3/#invisible-line-boxes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1931466"> +<style> +.container { + border: 1px solid; +} + +ul { + margin: 0; +} +</style> +<div class="container"></div><br> +<div class="container"><span style="border: 1px solid; border-right: 2px solid;"></span></div><br> diff --git a/tests/wpt/tests/css/css-inline/empty-span-size-002.html b/tests/wpt/tests/css/css-inline/empty-span-size-002.html new file mode 100644 index 00000000000..f4a80a24d2a --- /dev/null +++ b/tests/wpt/tests/css/css-inline/empty-span-size-002.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-inline-3/#invisible-line-boxes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1931466"> +<link rel="match" href="empty-span-size-002-ref.html"> +<style> +.container, .has-height { + border: 1px solid; +} + +.inline { + outline: 1px solid; +} +</style> +<!-- Empty inline element in empty line has a height of zero. --> +<div class="container"><ruby class="inline"></ruby></div><br> +<!-- ... But not if the line has a meaningful height. --> +<div class="container"><ruby class="inline"></ruby><ruby class="has-height"></ruby><ruby class="inline"></ruby></div><br> diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001-ref.html index 268ad8ec5f9..321ae0c1f7a 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001-ref.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001-ref.html @@ -1,6 +1,6 @@ <!DOCTYPE html> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; body { font: 100px/1 MetricsTestFont; @@ -20,4 +20,4 @@ body { <div class="target-first">ApÉx</div> <div class="spacer"></div> <div class="target-second">ApÉx</div> -<div class="spacer"></div>
\ No newline at end of file +<div class="spacer"></div> diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001.html index cdcc86b0a9e..0e6601e1b3b 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001.html @@ -7,7 +7,7 @@ > <!-- https://github.com/w3c/csswg-drafts/issues/10904 --> <link rel="match" href="text-box-trim-accumulation-001-ref.html"> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; .spacer { block-size: 100px; diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002-ref.html index 505d2a5ebb7..5a759de72be 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002-ref.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002-ref.html @@ -1,6 +1,6 @@ <!DOCTYPE html> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; .spacer { background: lightgray; diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002.html index cfb53812397..eec3a4a9fc1 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-002.html @@ -8,7 +8,7 @@ > <link rel="match" href="text-box-trim-accumulation-002-ref.html"> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; .spacer { block-size: 100px; diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003-ref.html index 505d2a5ebb7..5a759de72be 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003-ref.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003-ref.html @@ -1,6 +1,6 @@ <!DOCTYPE html> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; .spacer { background: lightgray; diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003.html index 7b843230664..08e39d2de89 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-003.html @@ -8,7 +8,7 @@ > <link rel="match" href="text-box-trim-accumulation-003-ref.html"> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; .spacer { block-size: 100px; diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004-ref.html index 67500c70481..b2cb12b9f0e 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004-ref.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004-ref.html @@ -1,6 +1,6 @@ <!DOCTYPE html> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; body { font: 100px/1 MetricsTestFont; diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004.html index 29cf380a87f..09680a9ea11 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-accumulation-004.html @@ -9,7 +9,7 @@ > <link rel="match" href="text-box-trim-accumulation-004-ref.html"> <style> -@import "support/TestMetricsFont.css"; +@import "support/MetricsTestFont.css"; .spacer { block-size: 100px; diff --git a/tests/wpt/tests/css/css-lists/crashtests/firefox-bug-1930225.html b/tests/wpt/tests/css/css-lists/crashtests/firefox-bug-1930225.html new file mode 100644 index 00000000000..2f0455316c8 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/crashtests/firefox-bug-1930225.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<meta charset="utf-8"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1930225"> + +<style> +*::first-line { } +body.test { + list-style: square inside; +} +</style> + +<script> +document.addEventListener("DOMContentLoaded", () => { + document.body.getBoundingClientRect(); + document.body.classList = "test"; +}) +</script> + +<body> +<button> +<li> diff --git a/tests/wpt/tests/css/css-lists/nested-marker-styling-ref.html b/tests/wpt/tests/css/css-lists/nested-marker-styling-ref.html new file mode 100644 index 00000000000..620219926d0 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/nested-marker-styling-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<title>CSS Reference: ::marker pseudo-elements generated by ::before and ::after are stylable</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<style> +* { + font-family: Ahem; +} +</style> +<div>before-markerbefore</div> +<div>after-markerafter</div> diff --git a/tests/wpt/tests/css/css-lists/nested-marker-styling.html b/tests/wpt/tests/css/css-lists/nested-marker-styling.html new file mode 100644 index 00000000000..b3602483b73 --- /dev/null +++ b/tests/wpt/tests/css/css-lists/nested-marker-styling.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<title>CSS Lists Test: ::marker pseudo-elements generated by ::before and ::after are stylable</title> +<link rel="help" href="https://www.w3.org/TR/css-lists-3/#marker-pseudo"> +<link rel="match" href="nested-marker-styling-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<style> +* { + font-family: Ahem; +} +div::before { + content: "before"; + display: list-item; + list-style-position: inside; +} +div::after { + content: "after"; + display: list-item; + list-style-position: inside; +} +div::before::marker { + content: "before-marker"; +} +div::after::marker { + content: "after-marker"; +} +</style> +<div></div> + diff --git a/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay-ref.html b/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay-ref.html new file mode 100644 index 00000000000..b054f2c20ed --- /dev/null +++ b/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay-ref.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<style> +.container { + width: 100px; + height: 100px; + background-color: green; + position: absolute; + left: 10px; + top: 10px; +} +.child { + width: 10px; + height: 10px; + background-color: blue; + left: 150px; + position: absolute; +} +</style> +<body> +<div class="container"> + <div class="child"></div> +</div> +</body> +</html> diff --git a/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay.html b/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay.html new file mode 100644 index 00000000000..4f73a1fc8c9 --- /dev/null +++ b/tests/wpt/tests/css/css-masking/clip-path/animations/clip-path-animation-forward-fill-positive-delay.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> +<link rel="match" href="clip-path-animation-forward-fill-positive-delay-ref.html"> +<style> + .container { + width: 100px; + height: 100px; + background-color: green; + animation: clippath 1s 10s; + animation-fill-mode: forwards; + position: absolute; + left: 10px; + top: 10px; + } + + .child { + width: 10px; + height: 10px; + background-color: blue; + left: 150px; + position: absolute; + } + + @keyframes clippath { + 0% { + clip-path: circle(50% at 50% 50%); + } + + 100% { + clip-path: circle(35% at 35% 35%); + } + } +</style> +<script src="/common/reftest-wait.js"></script> +<script src="../../../../web-animations/resources/timing-utils.js"></script> + +<body> + <div class="container"> + <div class="child"></div> + </div> + + <script> + document.getAnimations()[0].ready.then(takeScreenshot); + </script> +</body> + +</html> diff --git a/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright-ref.html b/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright-ref.html index ae238c74435..7e9bdf36830 100644 --- a/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright-ref.html +++ b/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright-ref.html @@ -19,6 +19,7 @@ ol span { text-align: end; } span { + white-space: pre; text-combine-upright: all; } </style> diff --git a/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright.html b/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright.html index 808cf0d3b09..c867d2aac31 100644 --- a/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright.html +++ b/tests/wpt/tests/css/css-pseudo/marker-text-combine-upright.html @@ -26,7 +26,12 @@ ul { content: "3. "; } ::marker { + /* Try to undo whatever styles browsers might have set on ::marker. */ all: unset; + /* However, Blink still enforces `white-space: pre` on markers with outside position. + As a workaround, the reference expects `white-space: pre` too, but then we need + to set it here for Firefox. */ + white-space: pre; text-combine-upright: all; } </style> diff --git a/tests/wpt/tests/css/css-pseudo/parsing/highlight-pseudos-search-text.tentative.html b/tests/wpt/tests/css/css-pseudo/parsing/highlight-pseudos-search-text.tentative.html index c870125bbc8..9b9a1f10fb1 100644 --- a/tests/wpt/tests/css/css-pseudo/parsing/highlight-pseudos-search-text.tentative.html +++ b/tests/wpt/tests/css/css-pseudo/parsing/highlight-pseudos-search-text.tentative.html @@ -22,6 +22,9 @@ test_invalid_selector(`${pseudo} div`); test_invalid_selector(`${pseudo}::after`); test_invalid_selector(`${pseudo}:hover`); + test_invalid_selector(`${pseudo}:current(*)`); + test_invalid_selector(`${pseudo}:past`); + test_invalid_selector(`${pseudo}:future`); test_invalid_selector(`:not(${pseudo})`); } </script> diff --git a/tests/wpt/tests/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html b/tests/wpt/tests/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html index 70f35091bc9..d6d9fc2fd90 100644 --- a/tests/wpt/tests/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html +++ b/tests/wpt/tests/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html @@ -1,32 +1,32 @@ <!DOCTYPE html> <meta charset="utf-8"> -<title>CSS ::check Pseudo-Element Test</title> +<title>CSS ::checkmark Pseudo-Element Test</title> <link rel="help" href="https://github.com/w3c/csswg-drafts/pull/10986"> -<meta name="assert" content="This test checks the validity of the ::check pseudo element selector." /> +<meta name="assert" content="This test checks the validity of the ::checkmark pseudo element selector." /> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/parsing-testcommon.js"></script> <script> -test_valid_selector("::check"); -test_valid_selector("*::check", "::check"); -test_valid_selector("foo.bar[baz]::check"); -test_invalid_selector("::check *"); +test_valid_selector("::checkmark"); +test_valid_selector("*::checkmark", "::checkmark"); +test_valid_selector("foo.bar[baz]::checkmark"); +test_invalid_selector("::checkmark *"); // Combinations -test_invalid_selector("::check::check"); +test_invalid_selector("::checkmark::checkmark"); -test_invalid_selector("::before::check"); -test_invalid_selector("::after::check"); -test_invalid_selector("::marker::check"); -test_invalid_selector("::placeholder::check"); +test_invalid_selector("::before::checkmark"); +test_invalid_selector("::after::checkmark"); +test_invalid_selector("::marker::checkmark"); +test_invalid_selector("::placeholder::checkmark"); -test_invalid_selector("::check::before"); -test_invalid_selector("::check::after"); -test_valid_selector("::check::marker"); -test_invalid_selector("::check::placeholder"); +test_invalid_selector("::checkmark::before"); +test_invalid_selector("::checkmark::after"); +test_valid_selector("::checkmark::marker"); +test_invalid_selector("::checkmark::placeholder"); -test_invalid_selector("::slotted(*)::check::slotted(*)"); -test_valid_selector("::slotted(*)::check"); +test_invalid_selector("::slotted(*)::checkmark::slotted(*)"); +test_valid_selector("::slotted(*)::checkmark"); -test_valid_selector("::part(foo)::check"); +test_valid_selector("::part(foo)::checkmark"); </script> diff --git a/tests/wpt/tests/css/css-pseudo/pseudo-replaced-elements.html b/tests/wpt/tests/css/css-pseudo/pseudo-replaced-elements.html new file mode 100644 index 00000000000..8b5f994841b --- /dev/null +++ b/tests/wpt/tests/css/css-pseudo/pseudo-replaced-elements.html @@ -0,0 +1,77 @@ +<!doctype html> +<meta charset="utf-8"> +<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> +<link rel="author" href="https://mozilla.org" title="Mozilla"> +<link rel="help" href="https://issues.chromium.org/issues/365052666"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1911253"> +<link rel="help" href="https://drafts.csswg.org/css-pseudo/#generated-content"> +<!-- + https://drafts.csswg.org/css-pseudo/#generated-content: + Also as with regular child elements, the ::before and ::after pseudo-elements + are suppressed when their parent, the originating element, is replaced. +--> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<title>Replaced elements don't generate before / after CSS pseudo-elements</title> +<style> + input::before, + video::before, + progress::before { + content: "X"; + display: block; + /* Not resolvable if box is not generated */ + width: 10%; + } + span { + display: block; + /* Not resolvable if box is not generated */ + width: 10%; + } +</style> +<input type=text> +<input type=date> +<input type=time> +<input type=datetime-local> +<input type=checkbox> +<input type=radio> +<input type=file> +<input type=range> +<input type=color> +<input type=hidden> +<input type=search> +<video controls></video> +<video></video> +<progress></progress> +<!-- These are special since they are no longer replaced with appearance: none --> +<input style="appearance: none" type=checkbox> +<input style="appearance: none" type=radio> +<!-- These are not special --> +<input style="appearance: none" type=text> +<input style="appearance: none" type=date> +<input style="appearance: none" type=time> +<input style="appearance: none" type=datetime-local> +<input style="appearance: none" type=file> +<input style="appearance: none" type=range> +<input style="appearance: none" type=color> +<input style="appearance: none" type=hidden> +<input style="appearance: none" type=search> +<progress></progress> +<script> +for (let element of document.querySelectorAll("input, video")) { + test(function() { + const child = element.appendChild(document.createElement("span")); + const childWidth = getComputedStyle(child).width; + const hasChildBox = childWidth.endsWith("px"); + + const pseudoWidth = getComputedStyle(element, "::before").width; + const hasPseudoBox = pseudoWidth.endsWith("px"); + + assert_equals(hasChildBox, hasPseudoBox, "Should only generate a box for pseudo-elements if it generates a box for child elements"); + if (hasChildBox || hasPseudoBox) { + assert_equals(childWidth, pseudoWidth, "Child and pseudo sizes should match"); + } + const expectedBox = element.style.appearance == "none" && (element.type == "checkbox" || element.type == "radio"); + assert_equals(hasPseudoBox, expectedBox, "Should only generate a box for appearance: none checkboxes/radio buttons"); + }, `${element.tagName} ${element.style.cssText} ${element.type || element.controls || ""}`); +} +</script> diff --git a/tests/wpt/tests/css/css-rhythm/content-based-height-rounds-up-to-step-unit.html b/tests/wpt/tests/css/css-rhythm/content-based-height-rounds-up-to-step-unit.html new file mode 100644 index 00000000000..e3f9aa0f010 --- /dev/null +++ b/tests/wpt/tests/css/css-rhythm/content-based-height-rounds-up-to-step-unit.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-rhythm/#block-step-size"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="Content based block size is rounded up to step unit."> +<style> +.container { + display: flow-root; + width: 100px; + background-color: green; +} +.block-step { + width: min-content; + block-step-size: 100px; + color: green; +} +</style> +</head> +<body> +<p>Test passes if there is a filled green square.</p> +<div class="container"> + <div class="block-step"> + x x x + </div> +</div> +</body> +</html> diff --git a/tests/wpt/tests/css/css-rhythm/definite-height-rounds-up-to-next-multiple-of-step-unit.html b/tests/wpt/tests/css/css-rhythm/definite-height-rounds-up-to-next-multiple-of-step-unit.html new file mode 100644 index 00000000000..503e729e098 --- /dev/null +++ b/tests/wpt/tests/css/css-rhythm/definite-height-rounds-up-to-next-multiple-of-step-unit.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-rhythm/#block-step-size"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="Definite height should be rounded up to next multiple of specified step unit."> +<style> +.container { + display: flow-root; + width: 100px; + background-color: green; +} +.block-step { + block-step-size: 50px; + height: 51px; +} +</style> +</head> +<body> +<p>Test passes if there is a filled green square.</p> +<div class="container"> + <div class="block-step"></div> +</div> +</body> +</html> + diff --git a/tests/wpt/tests/css/css-rhythm/definite-height-rounds-up-to-step-unit.html b/tests/wpt/tests/css/css-rhythm/definite-height-rounds-up-to-step-unit.html new file mode 100644 index 00000000000..49376cc6cb5 --- /dev/null +++ b/tests/wpt/tests/css/css-rhythm/definite-height-rounds-up-to-step-unit.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-rhythm/#block-step-size"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="Definite height smaller than step size should be rounded up to step size."> +<style> +.container { + display: flow-root; + width: 100px; + background-color: green; +} +.block-step { + block-step-size: 100px; + height: 33px; +} +</style> +</head> +<body> +<p>Test passes if there is a filled green square.</p> +<div class="container"> + <div class="block-step"></div> +</div> +</body> +</html> + diff --git a/tests/wpt/tests/css/css-rhythm/definite-height-same-as-step-unit.html b/tests/wpt/tests/css/css-rhythm/definite-height-same-as-step-unit.html new file mode 100644 index 00000000000..e3553145110 --- /dev/null +++ b/tests/wpt/tests/css/css-rhythm/definite-height-same-as-step-unit.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-rhythm/#block-step-size"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="Block size that is the same as the step unit should be unchanged."> +<style> +.container { + display: flow-root; + width: 100px; + background-color: green; +} +.block-step { + height: 100px; + block-step-size: 100px; +} +</style> +</head> +<body> +<p>Test passes if there is a filled green square.</p> +<div class="container"> + <div class="block-step"></div> +</div> +</body> +</html> diff --git a/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-024.html b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-024.html new file mode 100644 index 00000000000..d15369d71c7 --- /dev/null +++ b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-024.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1926015"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that the inner flex container's cross-size (height) serves as a percentage basis for its descendants. The img can transfer its height through the aspect-ratio to the inline axis when computing its intrinsic inline size contribution. This determines the .test div's intrinsic inline size."> + +<style> +.outer { + display: flex; + flex-direction: column; +} +.inner { + display: flex; + width: 100%; + height: 100px; +} +.test { + height: 100%; + background: red; +} +.test > img { + height: 100%; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div class="outer"> + <div class="inner"> + <div class="test"> + <img src="aspect-ratio/support/200x200-green.png"> + </div> + </div> +</div> diff --git a/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-025.html b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-025.html new file mode 100644 index 00000000000..8c35b2a5b8f --- /dev/null +++ b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-025.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1926015"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="This test verifies that the inner flex container's cross-size (height) serves as a percentage basis for its descendants. The canvas can transfer its height through the aspect-ratio to the inline axis when computing its intrinsic inline size contribution. This determines the .test div's intrinsic inline size."> + +<style> +.outer { + display: flex; + flex-direction: column; +} +.inner { + display: flex; + width: 100%; + height: 100px; +} +.test { + height: 100%; + background: green; +} +.test > canvas { + height: 100%; +} +</style> + +<p>Test passes if there is a filled green square.</p> +<div class="outer"> + <div class="inner"> + <div class="test"> + <canvas width="10" height="10"></canvas> + </div> + </div> +</div> diff --git a/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-026.html b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-026.html new file mode 100644 index 00000000000..594d6c326ee --- /dev/null +++ b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-026.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1888262"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that the inner div's stretched main size (height) serves as a percentage basis for the img's height. The img can transfer its height through the aspect-ratio to the inline axis when computing its intrinsic inline size contribution. This determines the inner div's main-size (width)."> + +<style> +.outer { + display: flex; + height: 100px; +} +.inner { + background: red; +} +img { + height: 100%; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div class="outer"> + <div class="inner"> + <img src="aspect-ratio/support/200x200-green.png"> + </div> +</div> diff --git a/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-027.html b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-027.html new file mode 100644 index 00000000000..39092eb38f7 --- /dev/null +++ b/tests/wpt/tests/css/css-sizing/intrinsic-percent-replaced-027.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1931491"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that the inner flex container's main-size (height) serves as a percentage basis for its descendants. The canvas can transfer its height through the aspect-ratio to the inline axis when computing its intrinsic inline size contribution. This determines the .test div's intrinsic inline size."> + +<style> +.outer { + display: flex; + flex-direction: column; +} +.inner { + display: flex; + width: 100px; + height: 100px; +} +.test { + aspect-ratio: 1 / 1; + height: 100%; + background: red; +} +.test > canvas { + height: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div class="outer"> + <div class="inner"> + <div class="test"> + <canvas width="200" height="200"></canvas> + </div> + </div> +</div> diff --git a/tests/wpt/tests/css/css-transforms/scale-animation-with-var-001.html b/tests/wpt/tests/css/css-transforms/scale-animation-with-var-001.html new file mode 100644 index 00000000000..3ff5daa6711 --- /dev/null +++ b/tests/wpt/tests/css/css-transforms/scale-animation-with-var-001.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML> +<!-- this is functionally a crashtest, but I'm including a reference too --> +<link rel="help" href="https://issues.chromium.org/issues/375798131"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> + +<style> + +@keyframes k { + to { + scale: var(--scale-to); + } +} + +#target { + --percentage: 3; + --scale-to: calc(var(--percentage)); + + animation: k linear 2s -1s paused; + width: 50px; + height: 50px; + background: green; + transform-origin: top left; +} + +</style> + +<p>Test passes if there is a filled green square.</p> + +<div id="target"></div> diff --git a/tests/wpt/tests/css/css-transitions/README.md b/tests/wpt/tests/css/css-transitions/README.md index f72f11dccae..a298b13fd97 100644 --- a/tests/wpt/tests/css/css-transitions/README.md +++ b/tests/wpt/tests/css/css-transitions/README.md @@ -47,6 +47,102 @@ To make individual tests a bit more readable, a lot of the test-functionality ha 2. disable final cleanup by commenting out `done` and `teardown` callbacks 3. possibly increase the `duration` and disable the `#offscreen` (by simply naming it `#off-screen`) +## Tips to avoid test flakes ## + +### Making style update deterministic #### + +Timing characteristics vary widely across testing environments, and we need to +be careful about making assumptions about the state of the testing environment +to avoid race conditions. + +Here is an example of a test with a race condition. + +```css +# target { + color: green; + transition: color 300ms; + transition-delay: -150ms; +} +``` + +```javascript + test(() => { + target.style.color = 'pink'; + assert_equals(getComputedStyle(target).color, ...); + }, ...); +``` +The value of color will differ depending on whether the color "change" was +captured as part of the initial style update. We cannot assume style and +layout are clean at the start of a test. + +One way to fix this with the benefit of testing that a transition started is +as follows: + +```javascript + test(() => { + assert_equals(document.getAnimations().length, 0, + 'Initially no running animations'); + target.style.color = 'pink'; + assert_equals(document.getAnimations().length, 1, + 'Color change triggers a CSS transition'); + assert_equals(getComputedStyle(target).color, ...); + }, ...); +```` + +### Reftests and paint holding ### + +To avoid the flash of white when a navigating between pages, browsers may +elect to freeze the contents until ready to render the page. All animations, +CSS transitions included, have a ready promise that is resolved when the +user agent has completed any set up and is ready to rendering the animation. + +Rather than simply creating the transition and calling takeScreenshot, a safer +approach is as follows: + +```javascript +window.onload = async () => { + ... test setup including starting any transitions ... + + const promises = document.getAnimations().map(anim => anim.ready); + await Promise.all(promises); + requestAnimationFrame(takeScreenshot); +}; +``` + +### Reftests and avoiding animation drift ### + +The animation API is largely asynchronous and an extra animation frame can +easily cause misalignment of a reftest with its reference image. One +approach to address the issue is to use a long duration animation with a +negative transition delay to set the position. If using this approach, we can +further reduce the potential for animation drift by using a step easing function +or freeze at the midpoint by using cubic-bezier(0, 1, 1, 0) combined with a +negative transition delay with a magnitude equal to half the duration. Unless +critical for the test to be performed on running transitions, a safe alternative +is to pause the transitions. + +```javascript +document.getAnimations().forEach(anim => anim.pause()); +``` + +## Tips to reduce test runtime ## + +When testing for transitionend, it is not necessary to let the animation run its +course. It may be tempting just to use a short duration animation, but safer is +to accelerate the animation via the web-animations API. This gives us precise +control over the test conditions. + +```javascript +function fastForward(anim, progress) { + anim.currentTime = anim.effect.getTiming().duration * progress; +} +``` + +If simply wanting to jump to the end of the transition, then calling +anim.finish() does the trick. This fast forwarding trick is also really +useful for sampling a transition curve (testing whether a transition is +discrete or continuous for example). + ## Unspecified Behavior ## diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/computed/get.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/computed/get.html index 88fe53493cb..5d9f51900c2 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/computed/get.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/computed/get.html @@ -13,8 +13,8 @@ test(t => { const styleMap = createComputedStyleMap(t, '--foo: auto'); - assert_equals(styleMap.get('--Foo'), null); -}, 'Getting a custom property not in the computed style returns null'); + assert_equals(styleMap.get('--Foo'), undefined); +}, 'Getting a custom property not in the computed style returns undefined'); test(t => { const styleMap = createComputedStyleMap(t, 'width: 10px; height: 20px'); diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/clear.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/clear.html index e6bdd4fffea..49448b4f52a 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/clear.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/clear.html @@ -21,11 +21,11 @@ test(t => { let styleMap = createInlineStyleMap(t, '--foo: auto; width: 10px; transition-duration: 1s, 2s'); styleMap.clear(); - assert_equals(styleMap.get('--foo'), null, + assert_equals(styleMap.get('--foo'), undefined, 'Custom properties should be cleared'); - assert_equals(styleMap.get('width'), null, + assert_equals(styleMap.get('width'), undefined, 'CSS properties should be cleared'); - assert_equals(styleMap.get('transition-duration'), null, + assert_equals(styleMap.get('transition-duration'), undefined, 'List-valued properties should be cleared'); assert_array_equals([...styleMap], []); }, 'Can clear a CSS rule containing properties'); diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/declared.tentative.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/declared.tentative.html index f6c5dfdb6a9..43db502221d 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/declared.tentative.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/declared.tentative.html @@ -40,8 +40,8 @@ test(() => { }, 'Declared StylePropertyMap contains CSS property declarations in style rules'); test(() => { - assert_equals(styleMap.get('top'), null); - assert_equals(styleMap.get('--bar'), null); + assert_equals(styleMap.get('top'), undefined); + assert_equals(styleMap.get('--bar'), undefined); }, 'Declared StylePropertyMap does not contain inline styles'); test(() => { @@ -49,7 +49,7 @@ test(() => { }, 'Declared StylePropertyMap contains custom property declarations'); test(() => { - assert_equals(styleMap.get('color'), null); + assert_equals(styleMap.get('color'), undefined); }, 'Declared StylePropertyMap does not contain properties with invalid values'); test(() => { diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get-shorthand.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get-shorthand.html index 0a83ca4d09f..6c14c35ad8f 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get-shorthand.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get-shorthand.html @@ -13,7 +13,7 @@ test(t => { const styleMap = createDeclaredStyleMap(t, 'margin: 1px 2px 3px 4px'); const result = styleMap.get('margin'); - assert_not_equals(result, null, 'Shorthand value must not be null'); + assert_not_equals(result, undefined, 'Shorthand value must not be undefined'); assert_class_string(result, 'CSSStyleValue', 'Shorthand value must be a base CSSStyleValue'); }, 'Getting a shorthand property set explicitly in css rule returns ' + @@ -22,9 +22,9 @@ test(t => { test(t => { const styleMap = createDeclaredStyleMap(t, 'margin-top: 1px'); const result = styleMap.get('margin'); - assert_equals(result, null, - 'Shorthand value must be null as it is not explicitly set'); + assert_equals(result, undefined, + 'Shorthand value must be undefined as it is not explicitly set'); }, 'Getting a shorthand property that is partially set in css rule ' + - 'returns null'); + 'returns undefined'); </script> diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get.html index 847b6f6fa7a..870d138b10e 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/declared/get.html @@ -13,13 +13,13 @@ test(t => { const styleMap = createDeclaredStyleMap(t, '--foo: auto'); - assert_equals(styleMap.get('--Foo'), null); -}, 'Getting a custom property not in the CSS rule returns null'); + assert_equals(styleMap.get('--Foo'), undefined); +}, 'Getting a custom property not in the CSS rule returns undefined'); test(t => { const styleMap = createDeclaredStyleMap(t, ''); - assert_equals(styleMap.get('width'), null); -}, 'Getting a valid property not in the CSS rule returns null'); + assert_equals(styleMap.get('width'), undefined); +}, 'Getting a valid property not in the CSS rule returns undefined'); test(t => { const styleMap = createDeclaredStyleMap(t, 'width: 10px; height: 20px'); diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/clear.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/clear.html index 24ca69926b2..4599d5e212d 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/clear.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/clear.html @@ -21,11 +21,11 @@ test(t => { let styleMap = createInlineStyleMap(t, '--foo: auto; width: 10px; transition-duration: 1s, 2s'); styleMap.clear(); - assert_equals(styleMap.get('--foo'), null, + assert_equals(styleMap.get('--foo'), undefined, 'Custom properties should be cleared'); - assert_equals(styleMap.get('width'), null, + assert_equals(styleMap.get('width'), undefined, 'CSS properties should be cleared'); - assert_equals(styleMap.get('transition-duration'), null, + assert_equals(styleMap.get('transition-duration'), undefined, 'List-valued properties should be cleared'); assert_array_equals([...styleMap], []); }, 'Can clear an inline style containing properties'); diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get-shorthand.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get-shorthand.html index 6ce318d5995..56ee24a6642 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get-shorthand.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get-shorthand.html @@ -22,15 +22,15 @@ test(t => { test(t => { const styleMap = createInlineStyleMap(t, 'margin-top: 1px'); const result = styleMap.get('margin'); - assert_equals(result, null, - 'Shorthand value must be null as it is not explicitly set'); + assert_equals(result, undefined, + 'Shorthand value must be undefined as it is not explicitly set'); }, 'Getting a shorthand property that is partially set in inline style ' + 'returns null'); test(t => { const styleMap = createDivWithoutStyle(t).attributeStyleMap; - assert_equals(styleMap.get('margin'), null, - 'Shorthand value must be null for element without style'); + assert_equals(styleMap.get('margin'), undefined, + 'Shorthand value must be undefined for element without style'); }, 'Getting an attributeStyleMap shorthand property from an element without ' + 'a style attribute'); </script> diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get.html index 1fcc09be6f2..026b6752f06 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/inline/get.html @@ -13,13 +13,13 @@ test(t => { const styleMap = createInlineStyleMap(t, '--foo: auto'); - assert_equals(styleMap.get('--Foo'), null); -}, 'Getting a custom property not in the inline style returns null'); + assert_equals(styleMap.get('--Foo'), undefined); +}, 'Getting a custom property not in the inline style returns undefined'); test(t => { const styleMap = createInlineStyleMap(t, ''); - assert_equals(styleMap.get('width'), null); -}, 'Getting a valid property not in the inline style returns null'); + assert_equals(styleMap.get('width'), undefined); +}, 'Getting a valid property not in the inline style returns undefined'); test(t => { const styleMap = createInlineStyleMap(t, 'width: 10px; height: 20px'); diff --git a/tests/wpt/tests/css/css-values/attr-security.html b/tests/wpt/tests/css/css-values/attr-security.html index 4280bcaeff0..b3c7dda9c56 100644 --- a/tests/wpt/tests/css/css-values/attr-security.html +++ b/tests/wpt/tests/css/css-values/attr-security.html @@ -6,19 +6,26 @@ <style> @property --some-url { + syntax: "<url>"; + inherits: false; + initial-value: "empty"; + } + @property --some-string { syntax: "<string>"; inherits: false; initial-value: "empty"; } - @property --some-url-list { + @property --some-string-list { syntax: "<string>+"; inherits: false; initial-value: "empty"; } div { - --some-url: attr(data-foo); - --some-url-list: attr(data-foo); + --some-string: attr(data-foo); + --some-string-list: "https://does-not-exist2.test/404.png" attr(data-foo); --some-other-url: attr(data-foo); + --image-set-valid: url("https://does-not-exist.test/404.png") type(attr(data-foo)); + --image-set-invalid: attr(data-foo type(<url>)) 1x; } </style> @@ -70,6 +77,7 @@ 'https://does-not-exist.test/404.png', 'src(url("https://does-not-exist.test/404.png"))'); + // The following string() function is under discussion in the working group and does not exist yet. test_attr('--x', 'src(string("https://does-not-exist.test" attr(data-foo)))', '/404.png', @@ -79,22 +87,27 @@ '/404.png', 'none'); test_attr('background-image', - 'src(string("https://does-not-exist.test/""404.png")))', + 'src(string("https://does-not-exist.test/""404.png"))', '/404.png', 'src(url("https://does-not-exist.test/404.png"))'); test_attr('--x', - 'image(attr(data-foo))', - 'https://does-not-exist.test/404.png', - 'image("https://does-not-exist.test/404.png")'); + 'attr(data-foo type(<url>))', + 'url(https://does-not-exist.test/404.png)', + 'url("https://does-not-exist.test/404.png")'); + test_attr('--some-url', + 'attr(data-foo type(<url>))', + 'url(https://does-not-exist.test/404.png)', + 'none'); test_attr('background-image', - 'image(attr(data-foo))', - 'https://does-not-exist.test/404.png', + 'attr(data-foo type(<url>))', + 'url(https://does-not-exist.test/404.png)', 'none'); test_attr('background-image', - 'image("https://does-not-exist.test/404.png")', - 'https://does-not-exist.test/404.png', - 'image(url("https://does-not-exist.test/404.png"))'); + 'url("https://does-not-exist.test/404.png")', + 'url(https://does-not-exist.test/404.png)', + 'url("https://does-not-exist.test/404.png")'); + test_attr('--x', 'image(attr(data-foo))', @@ -123,21 +136,21 @@ // Test via a registered custom property. test_attr('--x', - 'image-set(var(--some-url))', + 'image-set(var(--some-string))', 'https://does-not-exist.test/404.png', 'image-set("https://does-not-exist.test/404.png")'); test_attr('background-image', - 'image-set(var(--some-url))', + 'image-set(var(--some-string))', 'https://does-not-exist.test/404.png', 'none'); // Test via a registered custom property (list). test_attr('--x', - 'image-set(var(--some-url))', + 'image-set(var(--some-string-list))', 'https://does-not-exist.test/404.png', - 'image-set("https://does-not-exist.test/404.png")'); + 'image-set("https://does-not-exist2.test/404.png" "https://does-not-exist.test/404.png")'); test_attr('background-image', - 'image-set(var(--some-url))', + 'image-set(var(--some-string-list))', 'https://does-not-exist.test/404.png', 'none'); @@ -150,4 +163,20 @@ 'image-set(var(--some-other-url))', 'https://does-not-exist.test/404.png', 'none'); + + // Test multiple token substitution + test_attr('background-image', + 'attr(data-foo type(*))', + 'url(https://does-not-exist.test/404.png), linear-gradient(black, white)', + 'none'); + + // Test total attr()-tainting for substitution values + test_attr('background-image', + 'image-set(var(--image-set-valid))', + 'image/jpeg', + 'none'); + test_attr('background-image', + 'image-set(var(--image-set-invalid))', + 'https://does-not-exist.test/404.png', + 'none'); </script> diff --git a/tests/wpt/tests/css/css-values/calc-sibling-function-parsing.html b/tests/wpt/tests/css/css-values/calc-sibling-function-parsing.html new file mode 100644 index 00000000000..dfddf84a061 --- /dev/null +++ b/tests/wpt/tests/css/css-values/calc-sibling-function-parsing.html @@ -0,0 +1,27 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>CSS sibling-index() and sibling-count()</title> + <link rel="help" href="https://drafts.csswg.org/css-values-5/#tree-counting" /> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> + <script> +test_valid_value('left', 'calc(1px * sibling-index())'); +test_valid_value('left', 'calc(1px * sibling-index( ))', 'calc(1px * sibling-index())'); +test_valid_value('z-index', 'sibling-index()'); + +test_invalid_value('left', 'calc(1px * sibling-index(100px))'); +test_invalid_value('left', 'calc(1px * sibling-index(1))'); + +test_valid_value('left', 'calc(1px * sibling-count())'); +test_valid_value('left', 'calc(1px * sibling-count( ))', 'calc(1px * sibling-count())'); +test_valid_value('z-index', 'sibling-count()'); + +test_invalid_value('left', 'calc(1px * sibling-count(100px))'); +test_invalid_value('left', 'calc(1px * sibling-count(1))'); + </script> +</body> +</html> diff --git a/tests/wpt/tests/css/css-values/calc-sibling-function.html b/tests/wpt/tests/css/css-values/calc-sibling-function.html new file mode 100644 index 00000000000..19e08b7f9a9 --- /dev/null +++ b/tests/wpt/tests/css/css-values/calc-sibling-function.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>CSS sibling-index() and sibling-count()</title> + <link rel="help" href="https://drafts.csswg.org/css-values-5/#tree-counting" /> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <style> + #test { + z-index: calc(sibling-index()); + counter-increment: foo calc(sibling-count()); + left: calc(10% + 100px * sibling-index()); + } + </style> +</head> +<body> + <div> + <div></div> + <div id="test"></div> + <div></div> + <div></div> + <ul></ul> + </div> + <script> +test(() => { + let style = getComputedStyle(document.getElementById('test')); + assert_equals(style.zIndex, '2'); +}, 'basic sibling-index() test'); + +test(() => { + let style = getComputedStyle(document.getElementById('test')); + assert_equals(style.counterIncrement, 'foo 5'); +}, 'basic sibling-count() test'); + +test(() => { + let style = getComputedStyle(document.getElementById('test')); + assert_equals(style.left, 'calc(10% + 200px)'); +}, 'sibling-index() in calc() with percentage'); + </script> +</body> +</html> diff --git a/tests/wpt/tests/css/css-view-transitions/nothing-captured.html b/tests/wpt/tests/css/css-view-transitions/nothing-captured.html index ac5635ec7cd..c7a0913bab0 100644 --- a/tests/wpt/tests/css/css-view-transitions/nothing-captured.html +++ b/tests/wpt/tests/css/css-view-transitions/nothing-captured.html @@ -5,6 +5,7 @@ <link rel="author" href="mailto:vmpstr@chromium.org"> <link rel="match" href="nothing-captured-ref.html"> <script src="/common/reftest-wait.js"></script> +<script src="/dom/events/scrolling/scroll_support.js"></script> <style> :root { view-transition-name: none; } .target { @@ -39,9 +40,14 @@ This text should appear unmodified, since the root isn't captured. failIfNot(document.startViewTransition, "Missing document.startViewTransition"); async function runTest() { - document.startViewTransition(() => - requestAnimationFrame(() => requestAnimationFrame(takeScreenshot))); + await document.startViewTransition().ready; + requestAnimationFrame(takeScreenshot); } -onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); + +onload = async () => { + await waitForCompositorReady(); + runTest(); +} + </script> diff --git a/tests/wpt/tests/css/support/interpolation-testcommon.js b/tests/wpt/tests/css/support/interpolation-testcommon.js index 211018ca053..bcd8b2ffca9 100644 --- a/tests/wpt/tests/css/support/interpolation-testcommon.js +++ b/tests/wpt/tests/css/support/interpolation-testcommon.js @@ -314,6 +314,7 @@ var property = interpolationTest.options.property; var from = interpolationTest.options.from; var to = interpolationTest.options.to; + let underlying = interpolationTest.options.underlying; var comparisonFunction = interpolationTest.options.comparisonFunction; var behavior = interpolationTest.options.behavior; @@ -354,9 +355,7 @@ } var target = actualTargetContainer.target; if (applyUnderlying) { - let underlying = interpolationTest.options.underlying; assert_true(typeof underlying !== 'undefined', '\'underlying\' value must be provided'); - assert_true(CSS.supports(property, underlying), '\'underlying\' value must be supported'); target.style.setProperty(property, underlying); } interpolationMethod.setup(property, from, target); diff --git a/tests/wpt/tests/docs/writing-tests/testharness.md b/tests/wpt/tests/docs/writing-tests/testharness.md index e426e37f22b..02864f8853b 100644 --- a/tests/wpt/tests/docs/writing-tests/testharness.md +++ b/tests/wpt/tests/docs/writing-tests/testharness.md @@ -167,9 +167,25 @@ are: * `jsshell`: to be run in a JavaScript shell, without access to the DOM (currently only supported in SpiderMonkey, and skipped in wptrunner) * `worker`: shorthand for the dedicated, shared, and service worker scopes -* `shadowrealm`: runs the test code in a +* `shadowrealm-in-window`: runs the test code in a [ShadowRealm](https://github.com/tc39/proposal-shadowrealm) context hosted in - an ordinary Window context; to be run at <code><var>x</var>.any.shadowrealm.html</code> + an ordinary Window context; to be run at <code><var>x</var>.any.shadowrealm-in-window.html</code> +* `shadowrealm-in-shadowrealm`: runs the test code in a ShadowRealm context + hosted in another ShadowRealm context; to be run at + <code><var>x</var>.any.shadowrealm-in-shadowrealm.html</code> +* `shadowrealm-in-dedicatedworker`: runs the test code in a ShadowRealm context + hosted in a dedicated worker; to be run at + <code><var>x</var>.any.shadowrealm-in-dedicatedworker.html</code> +* `shadowrealm-in-sharedworker`: runs the test code in a ShadowRealm context + hosted in a shared worker; to be run at + <code><var>x</var>.any.shadowrealm-in-sharedworker.html</code> +* `shadowrealm-in-serviceworker`: runs the test code in a ShadowRealm context + hosted in a service worker; to be run at + <code><var>x</var>.https.any.shadowrealm-in-serviceworker.html</code> +* `shadowrealm-in-audioworklet`: runs the test code in a ShadowRealm context + hosted in an AudioWorklet processor; to be run at + <code><var>x</var>.https.any.shadowrealm-in-audioworklet.html</code> +* `shadowrealm`: shorthand for all of the ShadowRealm scopes To check what scope your test is run from, you can use the following methods that will be made available by the framework: diff --git a/tests/wpt/tests/dom/events/handler-count.html b/tests/wpt/tests/dom/events/handler-count.html new file mode 100644 index 00000000000..deabdaa4df7 --- /dev/null +++ b/tests/wpt/tests/dom/events/handler-count.html @@ -0,0 +1,131 @@ +<!DOCTYPE html> +<meta name="variant" content="?document"> +<meta name="variant" content="?window"> +<meta name="variant" content="?element"> +<link rel="help" + href="https://dom.spec.whatwg.org/#add-an-event-listener"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<style> + #target { + background-color: green; + width: 100px; + height: 100px; + } + @keyframes fade-out { + from { opacity: 1; } + to { opacity: 0; } + } + #target.animate { + animation: fade-out 300ms ease-in; + } +</style> +<!-- Tests handlers with various means of set up and tear down --> +<body> + <div id="target"></div> +</body> +<script> +let eventTally = 0; +let nextListenerId = 0; + +function createEventTallyListener() { + return (event) => { + eventTally++; + } +} + +function resetAndRecordEvents() { + const target = document.getElementById('target'); + eventTally = 0; + const ready = new Promise(async resolve => { + target.addEventListener('click', () => { + requestAnimationFrame(resolve); + }, { once: true }); + await new test_driver.Actions() + .pointerMove(0, 0, {origin: target}) + .pointerDown() + .pointerUp() + .send(); + }); + return ready; +} + +const variant = location.search.substring(1) || 'window'; +let source = undefined; +switch(variant) { + case 'document': + source = document; + break; + + case 'window': + source = window; + break; + + case 'element': + source = document.getElementById('target'); + break; + + default: + source = window; +} + +promise_test(async t => { + // Add listeners + const first = createEventTallyListener(); + source.addEventListener('click', first, true); + await resetAndRecordEvents(); + assert_equals(eventTally, 1, 'After adding first listener'); + const second = createEventTallyListener(); + source.addEventListener('click', second, false); + await resetAndRecordEvents(); + assert_equals(eventTally, 2, 'After adding second listener'); + + // Duplicate listener is discarded. + source.addEventListener('click', second, false); + await resetAndRecordEvents(); + assert_equals(eventTally, 2, + 'After adding third listener with matching useCapture'); + + // Remove first listener + source.removeEventListener('click', first, true); + await resetAndRecordEvents(); + assert_equals(eventTally, 1, 'After removing first listener'); + + // Try to remove again. + source.removeEventListener('click', first, true); + await resetAndRecordEvents(); + assert_equals(eventTally, 1, 'Cannot remove a second time'); + + // Try to remove second, but with mismatched capture + source.removeEventListener('click', second, true); + await resetAndRecordEvents(); + assert_equals(eventTally, 1, 'Capture argument must match'); + + // Remove second listener. + source.removeEventListener('click', second, false); + await resetAndRecordEvents(); + assert_equals(eventTally, 0, 'After removal of second listener'); +}, `Test addEventListener/removeEventListener on the ${variant}.`); + +promise_test(async t => { + // Add listener + source.onclick = createEventTallyListener(); + await resetAndRecordEvents(); + assert_equals(eventTally, 1, 'After adding listener'); + + // Replace listener. + source.onclick = createEventTallyListener(); + await resetAndRecordEvents(); + assert_equals(eventTally, 1, 'After replacing listener'); + + // Remove listener + source.onclick = null; + await resetAndRecordEvents(); + assert_equals(eventTally, 0, 'After removing listener'); +}, `Test setting onanimationstart handler on the ${variant}.`); + +</script> +</body> diff --git a/tests/wpt/tests/dom/idlharness-shadowrealm.window.js b/tests/wpt/tests/dom/idlharness-shadowrealm.window.js index cb03c07c9be..d9312080264 100644 --- a/tests/wpt/tests/dom/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/dom/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["dom"], ["html"]); diff --git a/tests/wpt/tests/dom/nodes/moveBefore/tentative/Node-moveBefore.html b/tests/wpt/tests/dom/nodes/moveBefore/tentative/Node-moveBefore.html index 7056cd38470..22586d169c0 100644 --- a/tests/wpt/tests/dom/nodes/moveBefore/tentative/Node-moveBefore.html +++ b/tests/wpt/tests/dom/nodes/moveBefore/tentative/Node-moveBefore.html @@ -237,4 +237,58 @@ test(() => { assert_equals(a.moveBefore(c, c), c); assert_array_equals(a.childNodes, [b, c]); }, "Inserting a node before itself should not move the node"); + +test(() => { + const disconnectedOrigin = document.createElement('div'); + const disconnectedDestination = document.createElement('div'); + const p = disconnectedOrigin.appendChild(document.createElement('p')); + + disconnectedDestination.moveBefore(p, null); + + assert_equals(disconnectedDestination.firstChild, p, "<p> Was successfully moved"); +}, "Moving a node from a disconnected container to a disconnected new parent succeeds"); + +test(() => { + const disconnectedOrigin = document.createElement('div'); + const connectedDestination = document.body.appendChild(document.createElement('div')); + const p = disconnectedOrigin.appendChild(document.createElement('p')); + + assert_throws_dom("HIERARCHY_REQUEST_ERR", () => connectedDestination.moveBefore(p, null)); +}, "Moving a node from disconnected->connected throws a HIERARCHY_REQUEST_ERR"); + +test(() => { + const connectedOrigin = document.body.appendChild(document.createElement('div')); + const disconnectedDestination = document.createElement('div'); + const p = connectedOrigin.appendChild(document.createElement('p')); + + assert_throws_dom("HIERARCHY_REQUEST_ERR", () => disconnectedDestination.moveBefore(p, null)); +}, "Moving a node from connected->disconnected throws a HIERARCHY_REQUEST_ERR"); + +promise_test(async t => { + let reactions = []; + const element_name = `ce-${performance.now()}`; + customElements.define(element_name, + class MockCustomElement extends HTMLElement { + connectedMoveCallback() { reactions.push("connectedMove"); } + connectedCallback() { reactions.push("connected"); } + disconnectedCallback() { reactions.push("disconnected"); } + }); + + const oldParent = document.createElement('div'); + const newParent = document.createElement('div'); + const element = oldParent.appendChild(document.createElement(element_name)); + t.add_cleanup(() => { + element.remove(); + newParent.remove(); + oldParent.remove(); + }); + + // Wait a microtask to let any custom element reactions run (should be none, + // since the initial parent is disconnected). + await Promise.resolve(); + + newParent.moveBefore(element, null); + await Promise.resolve(); + assert_array_equals(reactions, []); +}, "No custom element callbacks are run during disconnected moveBefore()"); </script> diff --git a/tests/wpt/tests/dom/nodes/moveBefore/tentative/live-range-updates.html b/tests/wpt/tests/dom/nodes/moveBefore/tentative/live-range-updates.html index 9f8c4d99c16..7f73b37e6a8 100644 --- a/tests/wpt/tests/dom/nodes/moveBefore/tentative/live-range-updates.html +++ b/tests/wpt/tests/dom/nodes/moveBefore/tentative/live-range-updates.html @@ -29,13 +29,13 @@ test(t => { // In an ordinary removal, when a node whose descendant is the start (or end) // of a live range is removed, the range's start is set to the removed node's - // parent. This does not happen during a `moveBefore()`. - assert_equals(range.startContainer, start, "startContainer does not update after move"); + // parent. For now, the same thing happens during `moveBefore()`. + assert_equals(range.startContainer, old_parent, "startContainer updates during move"); assert_equals(range.endContainer, end, "endContainer does not update after move"); - assert_false(range.intersectsNode(middle), "range no longer intersects " + + assert_true(range.intersectsNode(middle), "adjusted range still intersects " + "middle node after move"); -}, "moveBefore does not cause range startContainer to snap up to parent when " + - "startContainer is moved"); +}, "moveBefore still results in range startContainer snapping up to parent " + + "when startContainer is moved"); test(t => { document.body.innerHTML = ` @@ -55,13 +55,12 @@ test(t => { assert_true(range.intersectsNode(middle), "Intersection before move"); new_parent.moveBefore(movable_div, null); - assert_not_equals(range.startContainer, old_parent, "startContainer does " + - "not snap up to moved ancestor node's parent"); - assert_equals(range.startContainer, start, "startContainer does not update after move"); + assert_equals(range.startContainer, old_parent, "startContainer still " + + "updates during move, to snap to parent"); assert_equals(range.endContainer, end, "endContainer does not update after move"); assert_false(range.intersectsNode(middle), "range no longer intersects " + - "middle node after move"); -}, "moveBefore does not cause range startContainer to snap up to parent, when " + + "middle node after move, since middle node was moved outside of the range"); +}, "moveBefore still causes range startContainer to snap up to parent, when " + "startContainer ancestor is moved"); test(t => { @@ -83,12 +82,13 @@ test(t => { assert_false(range.intersectsNode(middle), "No intersection before move"); new_parent.moveBefore(movable_div, null); - assert_not_equals(range.endContainer, old_parent, "endContainer does not " + - "snap up to moved ancestor node's parent"); - assert_equals(range.startContainer, start, "startContainer does not update after move"); - assert_equals(range.endContainer, end, "endContainer does not update after move"); - assert_true(range.intersectsNode(middle), "range intersects middle node after move"); -}, "moveBefore does not cause range endContainer to snap up to parent, when " + + assert_equals(range.startContainer, start, "startContainer does not update " + + "after move"); + assert_equals(range.endContainer, old_parent, "endContainer still snaps up " + + "to parent after move"); + assert_false(range.intersectsNode(middle), "adjusted range still does not " + + "intersect middle node after move"); +}, "moveBefore still causes range endContainer to snap up to parent, when " + "endContainer ancestor is moved"); </script> </html> diff --git a/tests/wpt/tests/dom/nodes/moveBefore/tentative/selection-preserve.html b/tests/wpt/tests/dom/nodes/moveBefore/tentative/selection-preserve.html index 8739209b620..cb49e19d729 100644 --- a/tests/wpt/tests/dom/nodes/moveBefore/tentative/selection-preserve.html +++ b/tests/wpt/tests/dom/nodes/moveBefore/tentative/selection-preserve.html @@ -26,7 +26,7 @@ async function select_range(t, anchorNode, focusNode) { promise_test(async t => { document.body.innerHTML = ` <div id=old_parent> - <span>This text does not move</span> + <span id=notMove>This text does not move</span> <span id=text>Text</span> </div> <div id=new_parent></div>`; @@ -53,25 +53,10 @@ promise_test(async t => { // the selection range *after*, which will accurately represent the internal // visual selection that the user sees, and we can run our assertions on it. new_parent.moveBefore(text, null); - assert_equals(getSelection().anchorNode, text.firstChild); + assert_equals(getSelection().anchorNode, notMove.firstChild); + assert_equals(getSelection().focusNode, notMove.firstChild); }, "moveBefore should not reset selection with preceding text"); -promise_test(async t => { - document.body.innerHTML = ` - <div id=old_parent> - <span>This text does not move</span> - <span id=text>Text</span> - <span>This text ALSO does not move</span> - </div> - <div id=new_parent></div>`; - getSelection().removeAllRanges(); - - await select_range(t, text, text); - - new_parent.moveBefore(text, null); - assert_equals(getSelection().anchorNode, text.firstChild); -}, "moveBefore should not reset selection with preceding and following text"); - const kHTML = ` <div id=grandparentDiv> <span id=grandparentParagraph>Grandparent paragraph</span> @@ -92,10 +77,10 @@ promise_test(async t => { await select_range(t, parentParagraph, childParagraph1); grandparentDiv.moveBefore(parentDiv, grandparentParagraph); - assert_equals(getSelection().anchorNode, parentParagraph.firstChild); - assert_equals(getSelection().focusNode, childParagraph1.firstChild); -}, "moveBefore should not reset selection that enters a subtree, when the " + - "whole selection is moved"); + assert_equals(getSelection().anchorNode, grandparentParagraph.firstChild); + assert_equals(getSelection().focusNode, grandparentParagraph.firstChild); +}, "moveBefore resets selection that enters a subtree, when the whole " + + "selection is moved"); // Selection anchor node is moved upwards in the DOM, to suddenly intersect more // nodes. @@ -105,9 +90,9 @@ promise_test(async t => { await select_range(t, parentParagraph, childParagraph1); grandparentDiv.moveBefore(parentParagraph, grandparentParagraph); - assert_equals(getSelection().anchorNode, parentParagraph.firstChild); + assert_equals(getSelection().anchorNode, childParagraph1.firstChild); assert_equals(getSelection().focusNode, childParagraph1.firstChild); - assert_true(getSelection().getRangeAt(0).intersectsNode(grandparentParagraph)); + assert_false(getSelection().getRangeAt(0).intersectsNode(grandparentParagraph)); }, "moveBefore anchor node moved up to expand selection and absorb nodes"); // Intersecting nodes are moved *out* of the selection. @@ -131,9 +116,10 @@ promise_test(async t => { parentDiv.moveBefore(childDiv, parentParagraph); assert_equals(getSelection().anchorNode, grandparentParagraph.firstChild); - assert_equals(getSelection().focusNode, childParagraph2.firstChild); - assert_false(getSelection().getRangeAt(0).intersectsNode(parentParagraph)); -}, "moveBefore focus node moved up to shrink selection and exclude nodes"); + assert_equals(getSelection().focusNode, parentParagraph.firstChild); + assert_true(getSelection().getRangeAt(0).intersectsNode(parentParagraph)); +}, "moveBefore focus node moved up to shrink selection and exclude nodes; " + + "focus node gets reset"); // Selection focus node is moved upwards in the DOM, shrinking the selection and // excluding once-intersecting nodes. @@ -149,13 +135,16 @@ promise_test(async t => { getSelection().removeAllRanges(); await select_range(t, i3, i4); - // Move the last list item to the position before the first. This pulls the - // range upwards, suddenly intersecting both `i2` and `i3`. + // Move the last list item (the selection focus node) to the position before + // the first. This resets the range to be collapsed at `i3`. list.moveBefore(i4, i1); - assert_equals(getSelection().focusNode, i4.firstChild); + assert_equals(getSelection().focusNode, i3.firstChild); assert_equals(getSelection().anchorNode, i3.firstChild); - assert_true(getSelection().getRangeAt(0).intersectsNode(i2)); + assert_true(getSelection().getRangeAt(0).collapsed, "Range is collased at `i3`"); + assert_false(getSelection().getRangeAt(0).intersectsNode(i2), + "Range does not intersect node that comes before anchor"); assert_true(getSelection().getRangeAt(0).intersectsNode(i3)); -}, "moveBefore selection is preserved when directionality changes"); +}, "moveBefore selection is not preserved, especially when underlying range " + + "gets inverted"); </script> </html> diff --git a/tests/wpt/tests/dom/parts/dom-parts-parseparts-crash-002.tentative.html b/tests/wpt/tests/dom/parts/dom-parts-parseparts-002-crash.tentative.html index bd2a0b588ba..bd2a0b588ba 100644 --- a/tests/wpt/tests/dom/parts/dom-parts-parseparts-crash-002.tentative.html +++ b/tests/wpt/tests/dom/parts/dom-parts-parseparts-002-crash.tentative.html diff --git a/tests/wpt/tests/editing/other/copy-paste-in-styled-inline-editing-host.https.html b/tests/wpt/tests/editing/other/copy-paste-in-styled-inline-editing-host.https.html new file mode 100644 index 00000000000..d1d875f9b41 --- /dev/null +++ b/tests/wpt/tests/editing/other/copy-paste-in-styled-inline-editing-host.https.html @@ -0,0 +1,37 @@ +<!doctype html> +<html> +<head> +<meta charset="utf-8"> +<meta name="timeout" content="long"> +<title>Copying text in styled inline editing host should not duplicate the editing host</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="../include/editor-test-utils.js"></script> +<script> +"use strict"; + +addEventListener("DOMContentLoaded", () => { + promise_test(async () => { + const editingHost = document.querySelector("span[contenteditable]"); + editingHost.focus(); + await test_driver.click(editingHost); + const utils = new EditorTestUtils(editingHost); + utils.setupEditingHost("ABC [DEF ]GHI"); + await utils.sendCopyShortcutKey(); + getSelection().collapse(editingHost.firstChild, editingHost.firstChild.length); + await utils.sendPasteShortcutKey(); + assert_equals( + editingHost.innerHTML.replace(" ", " "), + "ABC DEF GHIDEF " + ); + }, `Copying text in styled inline editing host should not duplicate the editing host`); +}, {once: true}); +</script> +</head> +<body> +<span contenteditable style="font-size:2em;font-weight:bold;border:1px solid">ABC</span><br> +</body> +</html> diff --git a/tests/wpt/tests/editing/other/delete-before-invisible-line-break.html b/tests/wpt/tests/editing/other/delete-before-invisible-line-break.html index ec88079d31e..7d5beccc71c 100644 --- a/tests/wpt/tests/editing/other/delete-before-invisible-line-break.html +++ b/tests/wpt/tests/editing/other/delete-before-invisible-line-break.html @@ -32,94 +32,94 @@ addEventListener("load", () => { for (const data of [ { initialInnerHTML: "<p>a []<br></p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p><br></p>" : "<p>a<br></p>", }, { initialInnerHTML: "<p>a[ ]<br></p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p><br></p>" : "<p>a<br></p>", }, { initialInnerHTML: "<p>a b[]<br></p>", expected: collapseWhiteSpaces - ? (useBR ? ["<p>a <br></p>", "<p>a </p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a </p>"]) - : "<p>a </p>", + ? (useBR ? ["<p>a <br></p>", "<p>a <br></p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a <br></p>"]) + : "<p>a <br></p>", }, { initialInnerHTML: "<p>a [b]<br></p>", expected: collapseWhiteSpaces - ? (useBR ? ["<p>a <br></p>", "<p>a </p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a </p>"]) - : "<p>a </p>", + ? (useBR ? ["<p>a <br></p>", "<p>a <br></p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a <br></p>"]) + : "<p>a <br></p>", }, { initialInnerHTML: "<p>a []\n</p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p>\n</p>" : "<p>a\n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<p>a[ ]\n</p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p>\n</p>" : "<p>a\n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<p>a b[]\n</p>", expected: collapseWhiteSpaces - ? ["<p>a \n</p>", "<p>a </p>"] - : "<p>a </p>", + ? ["<p>a \n</p>", "<p>a \n</p>"] + : "<p>a \n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<p>a [b]\n</p>", expected: collapseWhiteSpaces - ? ["<p>a \n</p>", "<p>a </p>"] - : "<p>a </p>", + ? ["<p>a \n</p>", "<p>a \n</p>"] + : "<p>a \n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a []<br><div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "<div><br><div>b</div></div>" : "<div>a<br><div>b</div></div>", }, { initialInnerHTML: "<div>a[ ]<br><div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "<div><br><div>b</div></div>" : "<div>a<br><div>b</div></div>", }, { initialInnerHTML: "<div>a b[]<br><div>b</div></div>", expected: collapseWhiteSpaces ? (useBR - ? ["<div>a <br><div>b</div></div>", "<div>a <div>b</div></div>"] - : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"]) - : "<div>a <div>b</div></div>", + ? ["<div>a <br><div>b</div></div>", "<div>a <br><div>b</div></div>"] + : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <br><div>b</div></div>"]) + : "<div>a <br><div>b</div></div>", }, { initialInnerHTML: "<div>a [b]<br><div>b</div></div>", expected: collapseWhiteSpaces ? (useBR - ? ["<div>a <br><div>b</div></div>", "<div>a <div>b</div></div>"] - : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"]) - : "<div>a <div>b</div></div>", + ? ["<div>a <br><div>b</div></div>", "<div>a <br><div>b</div></div>"] + : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <br><div>b</div></div>"]) + : "<div>a <br><div>b</div></div>", }, { initialInnerHTML: "<div>a []\n<div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "<div>\n<div>b</div></div>" : "<div>a\n<div>b</div></div>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a[ ]\n<div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "<div>\n<div>b</div></div>" : "<div>a\n<div>b</div></div>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a b[]\n<div>b</div></div>", expected: collapseWhiteSpaces - ? ["<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"] - : "<div>a <div>b</div></div>", + ? ["<div>a \n<div>b</div></div>", "<div>a \n<div>b</div></div>"] + : "<div>a \n<div>b</div></div>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a [b]\n<div>b</div></div>", expected: collapseWhiteSpaces - ? ["<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"] - : "<div>a <div>b</div></div>", + ? ["<div>a \n<div>b</div></div>", "<div>a \n<div>b</div></div>"] + : "<div>a \n<div>b</div></div>", skipIf: () => useBR, }, ]) { diff --git a/tests/wpt/tests/editing/other/forwarddelete-before-invisible-line-break.html b/tests/wpt/tests/editing/other/forwarddelete-before-invisible-line-break.html index aebfdc2899e..7ab0a6fabc7 100644 --- a/tests/wpt/tests/editing/other/forwarddelete-before-invisible-line-break.html +++ b/tests/wpt/tests/editing/other/forwarddelete-before-invisible-line-break.html @@ -32,94 +32,94 @@ addEventListener("load", () => { for (const data of [ { initialInnerHTML: "<p>a[] <br></p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p>a <br></p>" : "<p>a<br></p>", }, { initialInnerHTML: "<p>a[ ]<br></p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p>a <br></p>" : "<p>a<br></p>", }, { initialInnerHTML: "<p>a []b<br></p>", expected: collapseWhiteSpaces - ? (useBR ? ["<p>a <br></p>", "<p>a </p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a </p>"]) - : "<p>a </p>", + ? (useBR ? ["<p>a <br></p>", "<p>a <br></p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a <br></p>"]) + : "<p>a <br></p>", }, { initialInnerHTML: "<p>a [b]<br></p>", expected: collapseWhiteSpaces - ? (useBR ? ["<p>a <br></p>", "<p>a </p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a </p>"]) - : "<p>a </p>", + ? (useBR ? ["<p>a <br></p>", "<p>a <br></p>"] : ["<p>a <br></p>", "<p>a \n</p>", "<p>a <br></p>"]) + : "<p>a <br></p>", }, { initialInnerHTML: "<p>a[] \n</p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p>a \n</p>" : "<p>a\n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<p>a[ ]\n</p>", - expected: "<p>a</p>", + expected: collapseWhiteSpaces ? "<p>a \n</p>" : "<p>a\n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<p>a []b\n</p>", expected: collapseWhiteSpaces - ? ["<p>a \n</p>", "<p>a </p>"] - : "<p>a </p>", + ? ["<p>a \n</p>", "<p>a \n</p>"] + : "<p>a \n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<p>a [b]\n</p>", expected: collapseWhiteSpaces - ? ["<p>a \n</p>", "<p>a </p>"] - : "<p>a </p>", + ? ["<p>a \n</p>", "<p>a \n</p>"] + : "<p>a \n</p>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a[] <br><div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "ab" : "<div>a<br><div>b</div></div>", }, { initialInnerHTML: "<div>a[ ]<br><div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "ab" : "<div>a<br><div>b</div></div>", }, { initialInnerHTML: "<div>a []b<br><div>b</div></div>", expected: collapseWhiteSpaces ? (useBR - ? ["<div>a <br><div>b</div></div>", "<div>a <div>b</div></div>"] - : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"]) - : "<div>a <div>b</div></div>", + ? ["<div>a <br><div>b</div></div>", "<div>a <br><div>b</div></div>"] + : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <br><div>b</div></div>"]) + : "<div>a <br><div>b</div></div>", }, { initialInnerHTML: "<div>a [b]<br><div>b</div></div>", expected: collapseWhiteSpaces ? (useBR - ? ["<div>a <br><div>b</div></div>", "<div>a <div>b</div></div>"] - : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"]) - : "<div>a <div>b</div></div>", + ? ["<div>a <br><div>b</div></div>", "<div>a <br><div>b</div></div>"] + : ["<div>a <br><div>b</div></div>", "<div>a \n<div>b</div></div>", "<div>a <br><div>b</div></div>"]) + : "<div>a <br><div>b</div></div>", }, { initialInnerHTML: "<div>a[] \n<div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "ab" : "<div>a\n<div>b</div></div>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a[ ]\n<div>b</div></div>", - expected: "<div>a<div>b</div></div>", + expected: collapseWhiteSpaces ? "ab" : "<div>a\n<div>b</div></div>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a []b\n<div>b</div></div>", expected: collapseWhiteSpaces - ? ["<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"] - : "<div>a <div>b</div></div>", + ? ["<div>a \n<div>b</div></div>", "<div>a \n<div>b</div></div>"] + : "<div>a \n<div>b</div></div>", skipIf: () => useBR, }, { initialInnerHTML: "<div>a [b]\n<div>b</div></div>", expected: collapseWhiteSpaces - ? ["<div>a \n<div>b</div></div>", "<div>a <div>b</div></div>"] - : "<div>a <div>b</div></div>", + ? ["<div>a \n<div>b</div></div>", "<div>a \n<div>b</div></div>"] + : "<div>a \n<div>b</div></div>", skipIf: () => useBR, }, ]) { diff --git a/tests/wpt/tests/editing/other/paste_text_with_text_transform.html b/tests/wpt/tests/editing/other/paste_text_with_text_transform.html new file mode 100644 index 00000000000..17d83fee288 --- /dev/null +++ b/tests/wpt/tests/editing/other/paste_text_with_text_transform.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html> + <head> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <style> + span { + text-transform: capitalize; + } + p::first-letter { + text-transform: uppercase; + } + </style> + </head> + <body> + <div contenteditable> + <span id="test1"> this should not be capitalized </span> + <p id="test2">this should be copied as plain text</p> + <span id="test3"> this should be copied as plain text </span> + <div id="secure" style="-webkit-text-security: disc">example</div> + </div> + <div contenteditable id="target"></div> + </body> + <script> + assert_not_equals( + window.testRunner, + undefined, + "This test requires testRunner to read/write clipboard." + ); + function testCopyAndPasteTexts(testId, expectedHTML) { + const selection = document.getSelection(); + const range = document.createRange(); + const element = document.getElementById(testId); + range.selectNode(element.firstChild); + selection.removeAllRanges(); + selection.addRange(range); + document.execCommand("copy"); + let target = document.getElementById("target"); + target.focus(); + document.execCommand("pasteAndMatchStyle"); + assert_equals( + target.innerHTML, + expectedHTML, + "HTML content matches the expected structure after copy" + ); + target.innerHTML = ""; + } + test(() => { + testCopyAndPasteTexts("test1", "this should not be capitalized"); + }, "text-transform should not affect plain text copy"); + test(() => { + testCopyAndPasteTexts( + "test2", + "this should be copied as plain text" + ); + }, "text-transform of first letter should not affect plain text copy"); + test(() => { + testCopyAndPasteTexts( + "test3", + "this should be copied as plain text" + ); + }, "white space collapsing should be preserved"); + test(() => { + testCopyAndPasteTexts( + "secure", + "\u2022\u2022\u2022\u2022\u2022\u2022\u2022" + ); + }, "secured string should be masked"); + </script> +</html> diff --git a/tests/wpt/tests/encoding/idlharness-shadowrealm.window.js b/tests/wpt/tests/encoding/idlharness-shadowrealm.window.js index baf3efcbb02..205b35cf04a 100644 --- a/tests/wpt/tests/encoding/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/encoding/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["encoding"], ["streams"]); diff --git a/tests/wpt/tests/eventsource/META.yml b/tests/wpt/tests/eventsource/META.yml index 437da600931..c0756cf85af 100644 --- a/tests/wpt/tests/eventsource/META.yml +++ b/tests/wpt/tests/eventsource/META.yml @@ -3,3 +3,4 @@ suggested_reviewers: - odinho - Yaffle - annevk + - rexxars 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 index 9d0ae4287df..400be405095 100644 --- a/tests/wpt/tests/fetch/fetch-later/quota.tentative.https.window.js +++ b/tests/wpt/tests/fetch/fetch-later/quota.tentative.https.window.js @@ -4,8 +4,9 @@ 'use strict'; -const kQuotaPerOrigin = 64 * 1024; // 64 kilobytes per spec. +const QUOTA_PER_ORIGIN = 64 * 1024; // 64 kilobytes per spec. const {ORIGIN, HTTPS_NOTSAMESITE_ORIGIN} = get_host_info(); +const TEST_ENDPOINT = '/fetch-later'; // 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. @@ -13,8 +14,7 @@ function fetchLaterPostTest(body, description) { test(() => { const controller = new AbortController(); const result = fetchLater( - '/fetch-later', - {method: 'POST', signal: controller.signal, body: body}); + TEST_ENDPOINT, {method: 'POST', signal: controller.signal, body: body}); assert_false(result.activated); // Release quota taken by the pending request for subsequent tests. controller.abort(); @@ -30,19 +30,25 @@ for (const [dataType, skipCharset] of Object.entries( } // 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 max possible size of payload. +// Length of absolute URL to the endpoint. +const POST_TEST_REQUEST_URL_SIZE = (ORIGIN + TEST_ENDPOINT).length; +// Total size of the request header. +const POST_TEST_REQUEST_HEADER_SIZE = 36; +// Runs this test only for String type beacon, as browser adds extra bytes to +// body for some other types (FormData & URLSearchParams), and the request +// header sizes varies for every other types. It is difficult to test a request +// right at the quota limit. +fetchLaterPostTest( + // Generates data that is exactly 64 kilobytes. + makeBeaconData( + generatePayload( + QUOTA_PER_ORIGIN - POST_TEST_REQUEST_URL_SIZE - + POST_TEST_REQUEST_HEADER_SIZE), + BeaconDataType.String), + `A single fetchLater() call takes up the per-origin quota for its ` + + `body of String.`); // Test empty payload. for (const dataType in BeaconDataType) { @@ -64,8 +70,8 @@ for (const dataType in BeaconDataType) { () => fetchLater('/fetch-later', { method: 'POST', // Generates data that exceeds 64 kilobytes. - body: - makeBeaconData(generatePayload(kQuotaPerOrigin + 1), dataType) + body: makeBeaconData( + generatePayload(QUOTA_PER_ORIGIN + 1), dataType) })); }, `A single fetchLater() call is not allowed to exceed per-origin quota ` + @@ -81,7 +87,7 @@ for (const dataType in BeaconDataType) { fetchLater('/fetch-later', { method: 'POST', signal: controller.signal, - body: makeBeaconData(generatePayload(kQuotaPerOrigin / 2), dataType) + body: makeBeaconData(generatePayload(QUOTA_PER_ORIGIN / 2), dataType) }); // Makes the 2nd call that sends half+1 of allowed quota. @@ -90,7 +96,7 @@ for (const dataType in BeaconDataType) { method: 'POST', signal: controller.signal, body: makeBeaconData( - generatePayload(kQuotaPerOrigin / 2 + 1), dataType) + generatePayload(QUOTA_PER_ORIGIN / 2 + 1), dataType) }); }); // Release quota taken by the pending requests for subsequent tests. @@ -109,7 +115,7 @@ for (const dataType in BeaconDataType) { fetchLater('/fetch-later', { method: 'POST', signal: controller.signal, - body: makeBeaconData(generatePayload(kQuotaPerOrigin / 2), dataType) + body: makeBeaconData(generatePayload(QUOTA_PER_ORIGIN / 2), dataType) }); // Makes the 2nd call that sends half+1 of allowed quota, but to a @@ -117,8 +123,8 @@ for (const dataType in BeaconDataType) { fetchLater(`${HTTPS_NOTSAMESITE_ORIGIN}/fetch-later`, { method: 'POST', signal: controller.signal, - body: - makeBeaconData(generatePayload(kQuotaPerOrigin / 2 + 1), dataType) + body: makeBeaconData( + generatePayload(QUOTA_PER_ORIGIN / 2 + 1), dataType) }); // Release quota taken by the pending requests for subsequent tests. controller.abort(); diff --git a/tests/wpt/tests/fledge/tentative/get-interest-group-auction-data.https.window.js b/tests/wpt/tests/fledge/tentative/get-interest-group-auction-data.https.window.js index 453d0f8e642..4a46c44210c 100644 --- a/tests/wpt/tests/fledge/tentative/get-interest-group-auction-data.https.window.js +++ b/tests/wpt/tests/fledge/tentative/get-interest-group-auction-data.https.window.js @@ -569,3 +569,18 @@ subsetTest(promise_test, async test => { assert_equals(decoded.message.interestGroups[OTHER_ORIGIN3].length, 1); assert_equals(decoded.message.interestGroups[OTHER_ORIGIN3][0].name, 'o3'); }, 'getInterestGroupAdAuctionData() uses perBuyerConfig to select buyers'); + +subsetTest(promise_test, async test => { + const uuid = generateUuid(test); + await joinInterestGroup(test, uuid); + + const result = await navigator.getInterestGroupAdAuctionData( + {seller: window.location.origin}); + assert_true(result.requestId !== null); + assert_true(result.request.length > 0); + + let decoded = await BA.decodeInterestGroupData(result.request); + + assert_own_property(decoded.message, 'enforceKAnon'); + assert_equals(decoded.message.enforceKAnon, true); +}, 'getInterestGroupAdAuctionData() requests k-anon.'); diff --git a/tests/wpt/tests/fledge/tentative/resources/ba-fledge-util.sub.js b/tests/wpt/tests/fledge/tentative/resources/ba-fledge-util.sub.js index 0bffebfeb94..d981e6a056e 100644 --- a/tests/wpt/tests/fledge/tentative/resources/ba-fledge-util.sub.js +++ b/tests/wpt/tests/fledge/tentative/resources/ba-fledge-util.sub.js @@ -199,6 +199,8 @@ function _sortForCbor(input) { out[i] = _sortForCbor(input[i]); } return out; + } else if (input instanceof Uint8Array) { + return input; } else { let keys = Object.getOwnPropertyNames(input).sort((a, b) => { // CBOR order compares lengths before values. diff --git a/tests/wpt/tests/fledge/tentative/server-response.https.window.js b/tests/wpt/tests/fledge/tentative/server-response.https.window.js index 7bbe4bbf008..fa9defa79bc 100644 --- a/tests/wpt/tests/fledge/tentative/server-response.https.window.js +++ b/tests/wpt/tests/fledge/tentative/server-response.https.window.js @@ -20,6 +20,8 @@ // META: variant=?45-48 // META: variant=?49-52 // META: variant=?53-56 +// META: variant=?57-60 +// META: variant=?61-64 // These tests focus on the serverResponse field in AuctionConfig, e.g. // auctions involving bidding and auction services. @@ -425,8 +427,8 @@ subsetTest(promise_test, async test => { // Runs responseMutator on a minimal correct server response, and expects // either success/failure based on expectWin. -async function testWithMutatedServerResponse(test, expectWin, responseMutator, - igMutator = undefined) { +async function testWithMutatedServerResponse( + test, expectWin, responseMutator, igMutator = undefined) { const uuid = generateUuid(test); const adA = createTrackerURL(window.location.origin, uuid, 'track_get', 'a'); const adB = createTrackerURL(window.location.origin, uuid, 'track_get', 'b'); @@ -648,11 +650,14 @@ subsetTest(promise_test, async test => { }, 'Basic B&A auction - ad component URL not in ad'); subsetTest(promise_test, async test => { - await testWithMutatedServerResponse(test, /*expectSuccess=*/ true, msg => { - msg.components = ['https://example.org']; - }, ig => { - ig.adComponents = [{renderURL: 'https://example.org/'}]; - }); + await testWithMutatedServerResponse( + test, /*expectSuccess=*/ true, + msg => { + msg.components = ['https://example.org']; + }, + ig => { + ig.adComponents = [{renderURL: 'https://example.org/'}]; + }); }, 'Basic B&A auction - ad component URL in ad'); subsetTest(promise_test, async test => { @@ -1040,9 +1045,8 @@ subsetTest(promise_test, async test => { subsetTest(promise_test, async test => { await testWithMutatedServerResponse(test, /*expectSuccess=*/ true, msg => { - msg.updateGroups = { - [window.location.origin]: [ - {index: 2048, updateIfOlderThanMs: 1000}]}; + msg.updateGroups = + {[window.location.origin]: [{index: 2048, updateIfOlderThanMs: 1000}]}; }); }, 'Basic B&A auction - updateIfOlderThanMs - invalid index'); @@ -1052,10 +1056,312 @@ subsetTest(promise_test, async test => { msg.updateGroups = { [window.location.origin]: [ {index: 0, updateIfOlderThanMs: 1000}, - {index: 1, updateIfOlderThanMs: 10000}]}; + {index: 1, updateIfOlderThanMs: 10000} + ] + }; }); }, 'Basic B&A auction - updateIfOlderThanMs'); +///////////////////////////////////////////////////////////////////////////// +// +// K-anonymity support tests +// +///////////////////////////////////////////////////////////////////////////// + +// Runs responseMutator on a minimal correct server response, and expects +// either success/failure based on expectWin. +async function kAnonTestWithMutatedServerResponse( + test, expectWin, responseMutator, igMutator = undefined) { + const uuid = generateUuid(test); + const adA = createTrackerURL(window.location.origin, uuid, 'track_get', 'a'); + const adB = createTrackerURL(window.location.origin, uuid, 'track_get', 'b'); + const adsArray = + [{renderURL: adA, adRenderId: 'a'}, {renderURL: adB, adRenderId: 'b'}]; + let ig = { + owner: window.location.origin, + name: DEFAULT_INTEREST_GROUP_NAME, + ads: adsArray, + biddingLogicURL: createBiddingScriptURL({allowComponentAuction: true}) + }; + if (igMutator) { + igMutator(ig, uuid); + } + + const encoder = new TextEncoder(); + const adARenderKAnonKey = + encoder.encode(`AdBid\n${ig.owner}/\n${ig.biddingLogicURL}\n${adA}`); + const adBRenderKAnonKey = + encoder.encode(`AdBid\n${ig.owner}/\n${ig.biddingLogicURL}\n${adB}`); + const adARenderKAnonKeyHash = new Uint8Array( + await window.crypto.subtle.digest('SHA-256', adARenderKAnonKey)); + const adBRenderKAnonKeyHash = new Uint8Array( + await window.crypto.subtle.digest('SHA-256', adBRenderKAnonKey)); + + const adANameReportingIdKAnonKey = encoder.encode( + `NameReport\n${ig.owner}/\n${ig.biddingLogicURL}\n${adA}\n${ig.name}`); + const adBNameReportingIdKAnonKey = encoder.encode( + `NameReport\n${ig.owner}/\n${ig.biddingLogicURL}\n${adB}\n${ig.name}`); + const adANameReportingIdKAnonKeyHash = new Uint8Array( + await window.crypto.subtle.digest('SHA-256', adANameReportingIdKAnonKey)); + const adBNameReportingIdKAnonKeyHash = new Uint8Array( + await window.crypto.subtle.digest('SHA-256', adBNameReportingIdKAnonKey)); + + const adABuyerReportingIdKAnonKey = encoder.encode(`BuyerReportId\n${ + ig.owner}/\n${ig.biddingLogicURL}\n${adA}\n${adA.buyerReportingId}`); + const adBBuyerReportingIdKAnonKey = encoder.encode(`BuyerReportId\n${ + ig.owner}/\n${ig.biddingLogicURL}\n${adB}\n${adB.buyerReportingId}`); + const adABuyerReportingIdKAnonKeyHash = + new Uint8Array(await window.crypto.subtle.digest( + 'SHA-256', adABuyerReportingIdKAnonKey)); + const adBBuyerReportingIdKAnonKeyHash = + new Uint8Array(await window.crypto.subtle.digest( + 'SHA-256', adBBuyerReportingIdKAnonKey)); + + const adABASReportingIdKAnonKey = + encoder.encode(`BuyerAndSellerReportId\n${ig.owner}/\n${ + ig.biddingLogicURL}\n${adA}\n${adA.buyerAndSellerReportingId}`); + const adBBASReportingIdKAnonKey = + encoder.encode(`BuyerAndSellerReportId\n${ig.owner}/\n${ + ig.biddingLogicURL}\n${adB}\n${adB.buyerAndSellerReportingId}`); + const adABASReportingIdKAnonKeyHash = new Uint8Array( + await window.crypto.subtle.digest('SHA-256', adABASReportingIdKAnonKey)); + const adBBASReportingIdKAnonKeyHash = new Uint8Array( + await window.crypto.subtle.digest('SHA-256', adBBASReportingIdKAnonKey)); + + const hashes = { + adARenderKAnonKeyHash: adARenderKAnonKeyHash, + adBRenderKAnonKeyHash: adBRenderKAnonKeyHash, + adANameReportingIdKAnonKeyHash: adANameReportingIdKAnonKeyHash, + adBNameReportingIdKAnonKeyHash: adBNameReportingIdKAnonKeyHash, + adABuyerReportingIdKAnonKeyHash: adABuyerReportingIdKAnonKeyHash, + adBBuyerReportingIdKAnonKeyHash: adBBuyerReportingIdKAnonKeyHash, + adABASReportingIdKAnonKeyHash: adABASReportingIdKAnonKeyHash, + adBBASReportingIdKAnonKeyHash: adBBASReportingIdKAnonKeyHash + }; + + await joinInterestGroup(test, uuid, ig); + + const result = await navigator.getInterestGroupAdAuctionData( + {seller: window.location.origin}); + assert_true(result.requestId !== null); + assert_true(result.request.length > 0); + + let decoded = await BA.decodeInterestGroupData(result.request); + + let serverResponseMsg = { + 'biddingGroups': {}, + 'adRenderURL': ig.ads[0].renderURL, + 'interestGroupName': DEFAULT_INTEREST_GROUP_NAME, + 'interestGroupOwner': window.location.origin, + }; + serverResponseMsg.biddingGroups[window.location.origin] = [0]; + + await responseMutator(serverResponseMsg, ig, hashes, uuid); + + let serverResponse = + await BA.encodeServerResponse(serverResponseMsg, decoded); + + let hashString = await BA.payloadHash(serverResponse); + await BA.authorizeServerResponseHashes([hashString]); + + let auctionResult = await navigator.runAdAuction({ + 'seller': window.location.origin, + 'interestGroupBuyers': [window.location.origin], + 'requestId': result.requestId, + 'serverResponse': serverResponse, + 'resolveToConfig': true, + }); + if (expectWin) { + expectSuccess(auctionResult); + return auctionResult; + } else { + expectNoWinner(auctionResult); + } +} + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ true, (msg, ig, hashes) => { + msg.kAnonWinnerJoinCandidates = { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }; + }); +}, 'Basic B&A auction - winner with candidates'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ false, (msg, ig, hashes) => { + msg.kAnonWinnerJoinCandidates = { + adRenderURLHash: new Uint8Array(), + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }; + }); +}, 'Basic B&A auction - winner with bad render hash'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ false, (msg, ig, hashes) => { + msg.kAnonWinnerJoinCandidates = { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: new Uint8Array(), + }; + }); +}, 'Basic B&A auction - winner with bad reporting hash'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ false, (msg, ig, hashes) => { + delete msg.adRenderURL; + delete msg.interestGroupName; + delete msg.interestGroupOwner; + msg.kAnonGhostWinners = [{ + kAnonJoinCandidates: { + // missing adRenderURLHash + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + }] + }); +}, 'Basic B&A auction - invalid ghost winner'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ false, (msg, ig, hashes) => { + delete msg.adRenderURL; + delete msg.interestGroupName; + delete msg.interestGroupOwner; + msg.kAnonGhostWinners = [{ + kAnonJoinCandidates: { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + }] + }); +}, 'Basic B&A auction - only ghost winner'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ false, (msg, ig, hashes) => { + delete msg.adRenderURL; + delete msg.interestGroupName; + delete msg.interestGroupOwner; + msg.kAnonGhostWinners = [ + { + kAnonJoinCandidates: { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + }, + { + kAnonJoinCandidates: { + adRenderURLHash: hashes.adBRenderKAnonKeyHash, + reportingIdHash: hashes.adBNameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + } + ] + }); +}, 'Basic B&A auction - multiple ghost winners'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ false, (msg, ig, hashes) => { + delete msg.adRenderURL; + delete msg.interestGroupName; + delete msg.interestGroupOwner; + msg.kAnonGhostWinners = [ + { + kAnonJoinCandidates: { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + }, + { + kAnonJoinCandidates: { + // missing adRenderURLHash + reportingIdHash: hashes.adBNameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + } + ] + }); +}, 'Basic B&A auction - second ghost winner invalid'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ true, (msg, ig, hashes) => { + msg.kAnonWinnerJoinCandidates = { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }; + msg.kAnonGhostWinners = [{ + kAnonJoinCandidates: { + adRenderURLHash: hashes.adBRenderKAnonKeyHash, + reportingIdHash: hashes.adBNameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + }]; + }); +}, 'Basic B&A auction - winner with ghost winner'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ true, (msg, ig, hashes) => { + msg.kAnonWinnerJoinCandidates = { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }; + msg.kAnonGhostWinners = [{ + kAnonJoinCandidates: { + adRenderURLHash: hashes.adBRenderKAnonKeyHash, + reportingIdHash: hashes.adBNameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + ghostWinnerForTopLevelAuction: { + // missing adRenderURL + modifiedBid: 100, + }, + }]; + }); +}, 'Basic B&A auction - invalid GhostWinnerForTopLevelAuction'); + +subsetTest(promise_test, async test => { + await kAnonTestWithMutatedServerResponse( + test, /*expectSuccess=*/ true, (msg, ig, hashes) => { + msg.kAnonWinnerJoinCandidates = { + adRenderURLHash: hashes.adARenderKAnonKeyHash, + reportingIdHash: hashes.adANameReportingIdKAnonKeyHash, + }; + msg.kAnonGhostWinners = [{ + kAnonJoinCandidates: { + adRenderURLHash: hashes.adBRenderKAnonKeyHash, + reportingIdHash: hashes.adBNameReportingIdKAnonKeyHash, + }, + interestGroupIndex: 0, + owner: window.location.origin, + ghostWinnerForTopLevelAuction: { + adRenderURL: ig.ads[1].renderURL, + modifiedBid: 100, + }, + }]; + }); +}, 'Basic B&A auction - winner with full ghost winner'); + +// TODO(behamilton): Add Multi-seller k-anon tests. +// TODO(behamilton): Add k-anon tests with different reporting IDs. + /* Some things that are not currently tested that probably should be; this is not exhaustive, merely to keep track of things that come to mind as tests are written: diff --git a/tests/wpt/tests/hr-time/idlharness-shadowrealm.window.js b/tests/wpt/tests/hr-time/idlharness-shadowrealm.window.js index 3209db5f41b..b5b2a2d3efd 100644 --- a/tests/wpt/tests/hr-time/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/hr-time/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["hr-time"], ["html", "dom"]); diff --git a/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/current.html b/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/current.html new file mode 100644 index 00000000000..52bcc455e2a --- /dev/null +++ b/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/current.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<title>Current page used as a test helper</title> +<button id="focus-opener-button" onclick="opener.focus()">Focus opener</button> +<script> +'use strict'; + +onload = async () => { + await opener.opener.test_driver.click(document.getElementById("focus-opener-button")); + opener.postMessage("current page", "*"); +}; +</script> diff --git a/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/incumbent.html b/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/incumbent.html new file mode 100644 index 00000000000..a6ddd7ae4b0 --- /dev/null +++ b/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/incumbent.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<title>Incumbent page used as a test helper</title> +<button id="focus-opener-button" onclick="opener.focus()">Focus opener</button> +<script> +'use strict'; + +function pageDone(expectedMessage) { + return new Promise(resolve => { + window.addEventListener('message', e => { + if (e.data === expectedMessage) { + resolve(); + } + }); + }); +} + +onload = async () => { + await opener.test_driver.bless("open current popup", null, window); + const currentDone = pageDone("current page"); + const currentWin = window.open("current.html", "_blank"); + await currentDone; + await opener.test_driver.bless("open relevant popup", null, window); + const relevantDone = pageDone("relevant page"); + const relevantWin = window.open("relevant.html", "_blank"); + await relevantDone; + window.openTestPopup = function() { + // This is the multi-global incarnation + return currentWin.open.call(relevantWin, "/resources/blank.html", "_blank"); + }; + opener.currentWin = currentWin; + opener.relevantWin = relevantWin; + await opener.test_driver.click(document.getElementById("focus-opener-button")); + opener.postMessage("incumbent page", "*"); +}; +</script> diff --git a/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/relevant.html b/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/relevant.html new file mode 100644 index 00000000000..fa809b2d779 --- /dev/null +++ b/tests/wpt/tests/html/browsers/windows/consume-user-activation/support/relevant.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<title>Relevant page used as a test helper</title> +<button id="focus-opener-button" onclick="opener.focus()">Focus opener</button> +<script> +'use strict'; + +onload = async () => { + await opener.opener.test_driver.click(document.getElementById("focus-opener-button")); + opener.postMessage("relevant page", "*"); +}; +</script> diff --git a/tests/wpt/tests/html/browsers/windows/consume-user-activation/window-open-multi-global.html b/tests/wpt/tests/html/browsers/windows/consume-user-activation/window-open-multi-global.html new file mode 100644 index 00000000000..ac8ed8a1264 --- /dev/null +++ b/tests/wpt/tests/html/browsers/windows/consume-user-activation/window-open-multi-global.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<title>window.open() and consuming user activation with multiple globals in play</title> +<link rel="help" href="https://html.spec.whatwg.org/#window-open-steps"> +<link rel="help" href="https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable"> +<!-- +2. Let sourceDocument be the entry global object's associated Document. +10. Let targetNavigable and windowType be the result of applying the rules for choosing a navigable + given target, sourceDocument's node navigable, and noopener. +--> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> + +<!-- This is the entry global --> + +<script> +'use strict'; + +function pageDone(expectedMessage) { + return new Promise(resolve => { + window.addEventListener('message', e => { + if (e.data === expectedMessage) { + resolve(); + } + }); + }); +} + +promise_test(async function(t) { + await test_driver.bless("open incumbent popup"); + const incumbentDone = pageDone("incumbent page"); + const incumbentWin = window.open("support/incumbent.html", "_blank"); + // incumbent.html opens two further popups and sets these properties (for this window): + // window.currentWin + // window.relevantWin + await incumbentDone; + await test_driver.bless("user activation in entry global"); + const testWin = incumbentWin.openTestPopup(); + t.add_cleanup(() => { + testWin.close(); + relevantWin.close(); + currentWin.close(); + incumbentWin.close(); + }); + assert_false(navigator.userActivation.isActive, "User activation of the entry global should be consumed"); +}); +</script> diff --git a/tests/wpt/tests/html/browsers/windows/consume-user-activation/window-open.html b/tests/wpt/tests/html/browsers/windows/consume-user-activation/window-open.html new file mode 100644 index 00000000000..8328d99a1de --- /dev/null +++ b/tests/wpt/tests/html/browsers/windows/consume-user-activation/window-open.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<title>window.open() and consuming user activation</title> +<link rel="help" href="https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script> +'use strict'; + +promise_test(async function(t) { + await test_driver.bless("user activation"); + const testWin = window.open("/resources/blank.html", "_blank"); + t.add_cleanup(() => { + testWin.close(); + }); + assert_false(navigator.userActivation.isActive, "User activation should be consumed"); +}); +</script> diff --git a/tests/wpt/tests/html/dom/aria-element-reflection-labelledby.html b/tests/wpt/tests/html/dom/aria-element-reflection-labelledby.html new file mode 100644 index 00000000000..9846255100b --- /dev/null +++ b/tests/wpt/tests/html/dom/aria-element-reflection-labelledby.html @@ -0,0 +1,111 @@ +<!DOCTYPE HTML> +<html> + <head> + <meta charset="utf-8" /> + <title>Element Reflection for aria-labelledby</title> + <link rel=help href="https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#reflecting-content-attributes-in-idl-attributes:reflected-idl-attribute-33"> + <link rel="author" title="Alice Boxhall" href="alice@igalia.com"> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + + <input id="input1"> + <span id="label1">Label for input1</span> + + <script> + promise_test(async (t) => { + const label_before_labelledby_set = await test_driver.get_computed_label(input1); + assert_equals("", label_before_labelledby_set, "Before ariaLabelledByElements is set, accessible label should be empty."); + + input1.ariaLabelledByElements = [label1]; + const label_after_labelledby_set = await test_driver.get_computed_label(input1); + assert_equals(label1.innerText, label_after_labelledby_set, "After ariaLabelledByElements is set, accessible label should be '" + label1.innerText + "'"); + + input1.ariaLabelledByElements = null; + const label_after_labelledby_removed = await test_driver.get_computed_label(input1); + assert_equals("", label_after_labelledby_removed, "After ariaLabelledByElements is set to null, accessible label should be empty"); + + }, "Setting ariaLabelledByElements should determine the computed label for the labelled element"); + </script> + + <input id="input2"> + + <script> + promise_test(async (t) => { + const label_before_labelledby_set = await test_driver.get_computed_label(input2); + assert_equals("", label_before_labelledby_set, "Before ariaLabelledByElements is set, accessible label should be empty."); + + const label2_1 = document.createElement("span"); + label2_1.innerText = "Label for input2"; + const label2_2 = document.createElement("span"); + label2_2.innerText = "Another label for input2"; + input2.ariaLabelledByElements = [label2_1, label2_2]; + const label_after_labelledby_set = await test_driver.get_computed_label(input2); + assert_equals("", label_after_labelledby_set, "After ariaLabelledByElements is set, accessible label should still be empty, since the element is not yet in the document"); + + input2.after(label2_1); + const label_after_label2_1_inserted = await test_driver.get_computed_label(input2); + assert_equals(label2_1.innerText, label_after_label2_1_inserted, "After first labelledby element is inserted into the document, accessible label should be based on its text"); + + label2_1.after(label2_2); + const label_after_label2_2_inserted = await test_driver.get_computed_label(input2); + assert_equals(label2_1.innerText + " " + label2_2.innerText, label_after_label2_2_inserted, + "After second labelledby element is inserted into the document, accessible label should be based on both labels"); + + + label2_1.remove(); + label2_2.remove(); + const label_after_labelledby_elements_removed = await test_driver.get_computed_label(input2); + assert_equals("", label_after_labelledby_elements_removed, "After labelledby elements are removed, accessible label should be empty again"); + }, "Setting ariaLabelledByElements before inserting the elements referred to in the document should cause the label to be updated once elements are inserted") + </script> + + <span id="label3">Label for input3</span> + + <script> + promise_test(async (t) => { + const input3 = document.createElement("input"); + input3.ariaLabelledByElements = [label3]; + const label_before_input_inserted = await test_driver.get_computed_label(input3); + assert_equals(label_before_input_inserted, "", "Before input is inserted in the document, its computed label should be empty"); + + label3.before(input3); + const label_after_input_inserted = await test_driver.get_computed_label(input3); + assert_equals(label3.innerText, label_after_input_inserted, "After input is inserted in the document, its computed label should be based on the labelledby element"); + }, "Setting ariaLabelledByElements on an element before inserting it in the document should cause the label to be updated once the element is inserted"); + </script> + + <input id="input4"> + <div id="shadow_host4"> + <template shadowrootmode="open"> + <span>Label for input4</span> + </template> + </div> + + <script> + promise_test(async (t) => { + const shadow_root = shadow_host4.shadowRoot; + const label4 = shadow_root.firstElementChild; + input4.ariaLabelledByElements = [label4] + assert_array_equals([], input4.ariaLabelledByElements, "References into shadow DOM are invalid"); + + const label_before_moving_labelledby_element = await test_driver.get_computed_label(input4); + assert_equals("", label_before_moving_labelledby_element, "Invalid references aren't used for name computation, so label should be empty"); + + input4.after(label4); + assert_array_equals([label4], input4.ariaLabelledByElements, "Moving the label causes the reference to become valid"); + + const label_after_moving_labelledby_element = await test_driver.get_computed_label(input4); + assert_equals(label4.innerText, label_after_moving_labelledby_element, + "Moving the label causes the reference to become valid, so it is used in name computation."); + + shadow_root.append(label4); + assert_array_equals([], input4.ariaLabelledByElements, "Moving the label back into shadow DOM causes the reference to become invalid again"); + const label_after_moving_labelledby_element_back = await test_driver.get_computed_label(input4); + assert_equals("", label_after_moving_labelledby_element_back, "Invalid references aren't used for name computation, so label should be empty"); + }, "Moving the label from shadow DOM to light DOM causes the reference to become valid"); + </script> + +</html> diff --git a/tests/wpt/tests/html/dom/idlharness-shadowrealm.window.js b/tests/wpt/tests/html/dom/idlharness-shadowrealm.window.js index ef71b74e509..e0f2691ce2a 100644 --- a/tests/wpt/tests/html/dom/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/html/dom/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["html"], ["wai-aria", "SVG", "cssom", "touch-events", "uievents", "dom", "xhr", "FileAPI", "mediacapture-streams", "performance-timeline"]); diff --git a/tests/wpt/tests/html/semantics/forms/form-submission-target/form-target-blank-useractivation-multi-globals.html b/tests/wpt/tests/html/semantics/forms/form-submission-target/form-target-blank-useractivation-multi-globals.html new file mode 100644 index 00000000000..af241016386 --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/form-submission-target/form-target-blank-useractivation-multi-globals.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<title>Multi-globals: which userActivation should be consumed when submitting a target=_blank form?</title> +<link rel="help" href="https://html.spec.whatwg.org/#concept-form-submit"> +<link rel="help" href="https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<div id=log></div> +<script> + +function waitForNewWindow(aChannelName) { + return new Promise(resolve => { + let channel = new BroadcastChannel(aChannelName); + channel.addEventListener("message", () => { + assert_true(true, "new window is opened"); + resolve(channel); + }, {once: true}); + }); +} + +function testFormSubmission(aChannelName, aSubmitFun, aMsg) { + promise_test(async (t) => { + await test_driver.bless('active main test window to open popup test window'); + let popupPromise = waitForNewWindow("popup"); + let popup = window.open("resources/endpoint.html?channelname=popup"); + t.add_cleanup(() => { popup.close(); }); + await popupPromise; + + popup.document.documentElement.innerHTML += ` + <form action=endpoint.html target=_blank> + <input type=hidden name=channelname value=${aChannelName}> + </form> + `; + + await test_driver.bless('active main test window again'); + assert_true(navigator.userActivation.isActive, 'main test window should have user activation'); + + await test_driver.bless('active popup test window', () => {}, popup); + assert_true(popup.navigator.userActivation.isActive, 'popup test window should have user activation'); + + let newWindowPromise = waitForNewWindow(aChannelName); + aSubmitFun(popup.document.querySelector("form")); + let newWindowChannel = await newWindowPromise; + t.add_cleanup(() => { newWindowChannel.postMessage("close"); }); + + assert_true(navigator.userActivation.isActive, 'main test window should still have user activation'); + assert_false(popup.navigator.userActivation.isActive, 'popup test window should not have user activation'); + }, aMsg); +} + +testFormSubmission(`${Date.now()}_script_submit`, (form) => { + form.submit(); +}, `<form target=_blank>.submit()`); + +testFormSubmission(`${Date.now()}_script_requestSubmit`, (form) => { + form.requestSubmit(); +}, `<form target=_blank>.requestSubmit()`); + +</script> diff --git a/tests/wpt/tests/html/semantics/forms/form-submission-target/form-target-blank-useractivation.html b/tests/wpt/tests/html/semantics/forms/form-submission-target/form-target-blank-useractivation.html new file mode 100644 index 00000000000..6d8506ac982 --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/form-submission-target/form-target-blank-useractivation.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<title>Test that submitting a target=_blank form consumes userActivation</title> +<link rel="help" href="https://html.spec.whatwg.org/#concept-form-submit"> +<link rel="help" href="https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<div id=log></div> +<form action=resources/endpoint.html target=_blank> + <input type=hidden name=channelname> + <button>Submit</button> +</form> +<script> + +function waitForNewWindow(aChannelName) { + return new Promise(resolve => { + let channel = new BroadcastChannel(aChannelName); + channel.addEventListener("message", () => { + assert_true(true, "new window is opened"); + channel.postMessage("close"); + resolve(); + }, {once: true}); + }); +} + +function testFormSubmission(aChannelName, aSubmitFun, aMsg) { + promise_test(async () => { + document.querySelector("input").value = aChannelName; + + await test_driver.bless('transient activation'); + assert_true(navigator.userActivation.isActive, 'should have user activation'); + + let newWindowPromise = waitForNewWindow(aChannelName); + aSubmitFun(); + await newWindowPromise; + assert_false(navigator.userActivation.isActive, 'navigator.userActivation.isActive after opening a new window'); + }, aMsg); +} + +testFormSubmission(`${Date.now()}_script_submit`, () => { + document.querySelector("form").submit(); +}, `<form target=_blank>.submit()`); + + testFormSubmission(`${Date.now()}_script_requestSubmit`, () => { + document.querySelector("form").requestSubmit(); +}, `<form target=_blank>.requestSubmit()`); + + testFormSubmission(`${Date.now()}_click_submit`, () => { + test_driver.click(document.querySelector("button")); +}, `<form target=_blank> click submit`); + +</script> diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/button-in-popover.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/button-in-popover.tentative.html index 0a71fd76452..32d7c072ce5 100644 --- a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/button-in-popover.tentative.html +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/button-in-popover.tentative.html @@ -14,16 +14,19 @@ select, select::picker(select) { <select> <button id=invoker>invoker</button> - <option>one</option> + <option id=option1>one</option> <option>two</option> <button id=popover>popover button</button> + <span id=other>other text</span> </select> <script> +const select = document.querySelector('select'); +const option1 = document.getElementById('option1'); +const popoverButton = document.getElementById('popover'); +const otherContent = document.getElementById('other'); promise_test(async () => { - const select = document.querySelector('select'); - const popoverButton = document.getElementById('popover'); - + assert_false(select.matches(':open')); await test_driver.click(select); assert_true(select.matches(':open'), 'Select should open after clicking the invoker button.'); @@ -35,5 +38,27 @@ promise_test(async () => { 'Clicking the button should not have closed the popover.'); assert_true(popoverButtonClicked, 'The button in the popover should have gotten a click event when clicked.'); + + popoverButton.focus(); + const ENTER_KEY = '\uE007'; + await test_driver.send_keys(document.activeElement, ENTER_KEY); + assert_true(select.matches(':open'), + 'Keyboard-activating the button should also not have closed the popover.'); + + await test_driver.click(option1); + assert_false(select.matches(':open'),'Picking an option should close select'); }, 'Buttons in the popover should be rendered and should not close the popover when clicked.'); + +promise_test(async () => { + assert_false(select.matches(':open')); + await test_driver.click(select); + assert_true(select.matches(':open')); + + await test_driver.click(other); + assert_true(select.matches(':open'), + 'Clicking non-interactive, non-option content should not close the popover.'); + + await test_driver.click(option1); + assert_false(select.matches(':open'),'Picking an option should close select'); +}, 'Non-interactive content in the popover should not close the popover when clicked.'); </script> diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/option-computed-style.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/option-computed-style.tentative.html index 9c930966829..ba2861a5c61 100644 --- a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/option-computed-style.tentative.html +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/option-computed-style.tentative.html @@ -11,7 +11,7 @@ <script> test(() => { assert_equals( - getComputedStyle(document.querySelector('option'), '::check').content, + getComputedStyle(document.querySelector('option'), '::checkmark').content, `"\u2713" / ""`); }, 'appearance:base-select options should have a checkmark with empty alt text.'); </script> diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-events.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-events.tentative.html new file mode 100644 index 00000000000..fcf53233f18 --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-events.tentative.html @@ -0,0 +1,170 @@ +<!DOCTYPE html> +<link rel=author href="mailto:masonf@chromium.org"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> + +<div class=wrapper data-description="implicit button"> + <select class=select> + <option class=option1>one</option> + <option class=option2>two</option> + <option class=option3>three</option> + </select> +</div> + +<div class=wrapper data-description="explicit button"> + <select class=select> + <button>Click</button> + <option class=option1>one</option> + <option class=option2>two</option> + <option class=option3>three</option> + </select> +</div> + +<style> + select,::picker(select) { + appearance: base-select; + } +</style> + +<script> + const events = ['click','keydown','keyup','mousedown','mouseup','pointerdown','pointerup', + 'focusin','focusout','input','change','beforetoggle','toggle']; + const keys = {Enter:'\uE007',Escape:'\uE00C',ArrowLeft:'\uE012',ArrowUp:'\uE013',ArrowRight:'\uE014',ArrowDown:'\uE015',Space:' ',Tab:'\uE004',Shift:'\uE008'}; + + document.querySelectorAll('.wrapper').forEach(wrapper => { + const select = wrapper.querySelector('select'); + const option1 = wrapper.querySelector('.option1'); + const option2 = wrapper.querySelector('.option2'); + const option3 = wrapper.querySelector('.option3'); + promise_test(async (t) => { + assert_false(select.matches(':open')); + let eventList = []; + function assert_events(expectedEvents,message) { + message = message || "Mismatch"; + assert_array_equals(eventList,expectedEvents,message); + eventList = []; + } + function getEventHandler(description) { + return (e) => eventList.push(`${e.type} on ${e.target.className} at ${description}`); + } + events.forEach(evt => wrapper.addEventListener(evt,getEventHandler('wrapper'))); + events.forEach(evt => select.addEventListener(evt,getEventHandler('select'))); + assert_events([]); + + // Open the picker by clicking on it, which will focus the currently selected option. + await test_driver.click(select); + assert_true(select.matches(':open')); + assert_events([ + 'pointerdown on select at select', 'pointerdown on select at wrapper', + 'mousedown on select at select', 'mousedown on select at wrapper', + 'focusin on select at select', 'focusin on select at wrapper', + 'focusout on select at select', 'focusout on select at wrapper', + 'focusin on option1 at select', 'focusin on option1 at wrapper', + 'pointerup on select at select', 'pointerup on select at wrapper', + 'mouseup on select at select', 'mouseup on select at wrapper', + 'click on select at select', 'click on select at wrapper' + ],'after showing, events from test_driver.click'); + + // Press arrow-down, and preventDefault + wrapper.addEventListener('keydown',(e) => e.preventDefault(),{once:true}); + await test_driver.send_keys(document.activeElement, keys.ArrowDown); + assert_equals(select.selectedOptions[0].innerText,'one'); + assert_events([ + 'keydown on option1 at select', 'keydown on option1 at wrapper', + 'keyup on option1 at select', 'keyup on option1 at wrapper' + ],'arrow down, with preventDefault'); + + // Press arrow-down, no preventDefault + await test_driver.send_keys(document.activeElement, keys.ArrowDown); + assert_equals(select.selectedOptions[0].innerText,'one','selection does not follow focus'); + assert_events([ + 'keydown on option1 at select', 'keydown on option1 at wrapper', + 'focusout on option1 at select', 'focusout on option1 at wrapper', + 'focusin on option2 at select', 'focusin on option2 at wrapper', + 'keyup on option2 at select', 'keyup on option2 at wrapper' + ],'arrow down, no preventDefault'); + + // Press escape, and preventDefault + wrapper.addEventListener('keydown',(e) => e.preventDefault(),{once:true}); + await test_driver.send_keys(document.activeElement, keys.Escape); + assert_true(select.matches(':open')); + assert_events([ + 'keydown on option2 at select', 'keydown on option2 at wrapper', + 'keyup on option2 at select', 'keyup on option2 at wrapper' + ],'escape, with preventDefault'); + + // Press escape, no preventDefault + await test_driver.send_keys(document.activeElement, keys.Escape); + assert_false(select.matches(':open')); + assert_events([ + 'keydown on option2 at select', 'keydown on option2 at wrapper', + 'focusout on option2 at select', 'focusout on option2 at wrapper', + 'focusin on select at select', 'focusin on select at wrapper', + 'keyup on select at select', 'keyup on select at wrapper' + ],'escape, no preventDefault'); + + // Re-open the picker and hit arrow-down again. + await test_driver.click(select); + assert_true(select.matches(':open')); + assert_equals(select.value,'one'); + await test_driver.send_keys(document.activeElement, keys.ArrowDown); + assert_equals(select.value,'one','selection does not follow focus'); + eventList = []; + + // Press enter to select an option, with preventDefault + wrapper.addEventListener('keydown',(e) => e.preventDefault(),{once:true}); + await test_driver.send_keys(document.activeElement, keys.Enter); + assert_true(select.matches(':open')); + assert_equals(select.value,'one','value has not changed'); + assert_events([ + 'keydown on option2 at select', 'keydown on option2 at wrapper', + 'keyup on option2 at select', 'keyup on option2 at wrapper' + ],'enter, with preventDefault'); + + // Press enter to select an option, no preventDefault + await test_driver.send_keys(document.activeElement, keys.Enter); + assert_false(select.matches(':open')); + assert_equals(select.value,'two'); + assert_events([ + 'keydown on option2 at select', 'keydown on option2 at wrapper', + 'input on select at select', 'input on select at wrapper', 'change on select at select', + 'change on select at wrapper', 'focusout on option2 at select', 'focusout on option2 at wrapper', + 'focusin on select at select', 'focusin on select at wrapper', + 'keyup on select at select', 'keyup on select at wrapper' + ],'enter, no preventDefault'); + + // Re-open the picker. + await test_driver.click(select); + assert_true(select.matches(':open')); + eventList = []; + + // Click on an option, with preventDefault + wrapper.addEventListener('click',(e) => e.preventDefault(),{once:true}); + assert_equals(select.selectedOptions[0].innerText,'two'); + await test_driver.click(option1); + assert_true(select.matches(':open'),'click should be cancelled'); + assert_events([ + 'pointerdown on option1 at select', 'pointerdown on option1 at wrapper', + 'mousedown on option1 at select', 'mousedown on option1 at wrapper', + 'click on option1 at select', 'click on option1 at wrapper', + ],'click option, with preventDefault'); + + // Click on an option, no preventDefault + assert_equals(select.selectedOptions[0].innerText,'two'); + await test_driver.click(option1); + assert_false(select.matches(':open')); + assert_events([ + 'pointerdown on option1 at select', 'pointerdown on option1 at wrapper', + 'mousedown on option1 at select', 'mousedown on option1 at wrapper', + 'click on option1 at select', 'click on option1 at wrapper', + 'input on select at select', 'input on select at wrapper', + 'change on select at select', 'change on select at wrapper', + 'focusout on option2 at select', 'focusout on option2 at wrapper', + 'focusin on select at select', 'focusin on select at wrapper' + ],'click option, no preventDefault'); + },`Events, ${wrapper.dataset.description}`); + }); +</script> diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-focus-change-for-hidden-options.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-focus-change-for-hidden-options.tentative.html new file mode 100644 index 00000000000..0067d8d7e8f --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-focus-change-for-hidden-options.tentative.html @@ -0,0 +1,110 @@ +<!DOCTYPE html> + +<meta name="timeout" content="long"> + +<link rel="help" href="http://crbug.com/377620848"> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> + +<style> + select, + select::picker(select) { + appearance: base-select; + } +</style> + +<select id="target"> + <option id="alpha">alpha</option> + <option hidden>bravo</option> + <option id="charlie">charlie</option> + <option hidden>delta</option> + <option hidden>echo</option> + <option id="foxtrot">foxtrot</option> + <option hidden>golf</option> +</select> + +<script> + const Space = ' '; + const ArrowUp = '\uE013'; + const ArrowDown = '\uE015'; + + promise_test(async (t) => { + assert_false( + target.matches(':open'), + 'The select should initially be closed.' + ); + + assert_equals( + target.value, + 'alpha', + 'Initial select value should be alpha.' + ); + + target.focus(); + assert_equals( + document.activeElement, + target, + 'The select should be focused.' + ); + + await test_driver.send_keys(document.activeElement, Space); + assert_true( + target.matches(':open'), + 'The select should be open after pressing space.' + ); + + assert_equals( + document.activeElement, + alpha, + 'The `alpha` option should be initially focused.' + ); + + // ArrowDown tests + await test_driver.send_keys(document.activeElement, ArrowDown); + assert_equals( + document.activeElement, + charlie, + 'The `charlie` option should be focused after pressing `ArrowDown`.' + ); + + await test_driver.send_keys(document.activeElement, ArrowDown); + assert_equals( + document.activeElement, + foxtrot, + 'The `foxtrot` option should be focused after pressing `ArrowDown`.' + ); + + await test_driver.send_keys(document.activeElement, ArrowDown); + assert_equals( + document.activeElement, + foxtrot, + 'The `foxtrot` option should still be focused after pressing `ArrowDown`.' + ); + + // ArrowUp tests + await test_driver.send_keys(document.activeElement, ArrowUp); + assert_equals( + document.activeElement, + charlie, + 'The `charlie` option should be focused after pressing `ArrowUp`.' + ); + + await test_driver.send_keys(document.activeElement, ArrowUp); + assert_equals( + document.activeElement, + alpha, + 'The `alpha` option should be focused after pressing `ArrowUp`.' + ); + + await test_driver.send_keys(document.activeElement, ArrowUp); + assert_equals( + document.activeElement, + alpha, + 'The `alpha` option should still be focused after pressing `ArrowUp`.' + ); + }, 'Hidden options should be skipped when changing focus using the up and down keys.'); +</script> diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby.tentative.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby.tentative.html index 8b365073b9c..cb72b701a0c 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby.tentative.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby.tentative.html @@ -1,5 +1,6 @@ <!doctype html> <meta charset="utf-8"> +<meta name="timeout" content="long"> <link rel=help href="https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-light-dismiss"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-complex.tentative.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-complex.tentative.html index f254c4d9f7f..aa45ecaad4f 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-complex.tentative.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-complex.tentative.html @@ -1,5 +1,6 @@ <!DOCTYPE html> <meta charset="utf-8"> +<meta name="timeout" content="long"> <link rel="author" href="mailto:masonf@chromium.org"> <link rel=help href="https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-light-dismiss"> <script src="/resources/testharness.js"></script> diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-simple.tentative.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-simple.tentative.html index 1658e200bb5..f1d78e1ebcd 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-simple.tentative.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-popover-closedby-simple.tentative.html @@ -1,5 +1,6 @@ <!DOCTYPE html> <meta charset="utf-8"> +<meta name="timeout" content="long"> <link rel="author" href="mailto:masonf@chromium.org"> <link rel=help href="https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-light-dismiss"> <script src="/resources/testharness.js"></script> diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.tentative.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.tentative.html index ed52f78a887..eb2270b861c 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.tentative.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.tentative.html @@ -41,31 +41,132 @@ promise_test(async (t) => { assert_false(dialog.open,'Without user activation, requestClose can\'t be cancelled'); },`requestClose requires user activation in order to be cancelable`); +async function setup(t,closedby) { + t.add_cleanup(() => { + dialog.close(); + dialog.removeAttribute('closedby'); + dialog.returnValue = ''; + }); + assert_false(dialog.hasAttribute('closedby')); + if (closedby) { + dialog.setAttribute('closedby',closedby); + } + // Be sure any pending close events get fired. + await new Promise(resolve => requestAnimationFrame(resolve)); + return getSignal(t); +} + [false,true].forEach(modal => { - promise_test(async (t) => { - t.add_cleanup(() => dialog.close()); - openDialog(modal); - dialog.requestClose(); - assert_false(dialog.open); - },`${modal ? "Modal:" : "Non-modal:"} requestClose closes the dialog`); + [null,'any','closedrequest','none'].forEach(closedby => { + const testDescription = `for ${modal ? "modal" : "modeless"} dialog with closedby=${closedby}`; + promise_test(async (t) => { + await setup(t,closedby); + openDialog(modal); + if (dialog.closedBy != "none") { + dialog.requestClose(); + assert_false(dialog.open); + } else { + assert_throws_dom('InvalidStateError',() => dialog.requestClose()); + assert_true(dialog.open); + } + },`requestClose basic behavior ${testDescription}`); + + promise_test(async (t) => { + const signal = await setup(t,closedby); + let events = []; + dialog.addEventListener('cancel',() => events.push('cancel'),{signal}); + dialog.addEventListener('close',() => events.push('close'),{signal}); + openDialog(modal); + assert_array_equals(events,[]); + if (dialog.closedBy != "none") { + dialog.requestClose(); + assert_false(dialog.open); + assert_array_equals(events,['cancel'],'close is scheduled'); + await new Promise(resolve => requestAnimationFrame(resolve)); + assert_array_equals(events,['cancel','close']); + } else { + assert_throws_dom('InvalidStateError',() => dialog.requestClose()); + } + },`requestClose fires both cancel and close ${testDescription}`); - promise_test(async (t) => { - t.add_cleanup(() => dialog.close()); - const signal = getSignal(t); - let shouldPreventDefault = true; - dialog.addEventListener('cancel',(e) => { - if (shouldPreventDefault) { - e.preventDefault(); + promise_test(async (t) => { + const signal = await setup(t,'none'); + let events = []; + dialog.addEventListener('cancel',() => events.push('cancel'),{signal}); + dialog.addEventListener('close',() => events.push('close'),{signal}); + openDialog(modal); + dialog.setAttribute('closedby',closedby); + assert_array_equals(events,[]); + if (dialog.closedBy != "none") { + dialog.requestClose(); + assert_false(dialog.open); + } else { + assert_throws_dom('InvalidStateError',() => dialog.requestClose()); } - },{signal}); - openDialog(modal); - await clickOn(dialog); // User activation - dialog.requestClose(); - assert_true(dialog.open,'cancel event was cancelled - dialog shouldn\'t close'); - shouldPreventDefault = false; - await clickOn(dialog); // User activation - dialog.requestClose(); - assert_false(dialog.open,'cancel event was not cancelled - dialog should now close'); - },`${modal ? "Modal:" : "Non-modal:"} requestClose can be cancelled`); + },`changing closedby from 'none' to '${closedby}' for ${modal ? "modal" : "modeless"} dialog`); + + promise_test(async (t) => { + const signal = await setup(t,closedby); + let events = []; + dialog.addEventListener('cancel',() => events.push('cancel'),{signal}); + dialog.addEventListener('close',() => events.push('close'),{signal}); + openDialog(modal); + dialog.removeAttribute('closedby'); + assert_array_equals(events,[]); + if (dialog.closedBy != "none") { + dialog.requestClose(); + assert_false(dialog.open); + } else { + assert_throws_dom('InvalidStateError',() => dialog.requestClose()); + } + },`Removing closedby when closedby='${closedby}' for ${modal ? "modal" : "modeless"} dialog`); + + if (dialog.closedBy != "none") { + promise_test(async (t) => { + const signal = await setup(t,closedby); + let shouldPreventDefault = true; + dialog.addEventListener('cancel',(e) => { + if (shouldPreventDefault) { + e.preventDefault(); + } + },{signal}); + openDialog(modal); + await clickOn(dialog); // User activation + dialog.requestClose(); + assert_true(dialog.open,'cancel event was cancelled - dialog shouldn\'t close'); + shouldPreventDefault = false; + await clickOn(dialog); // User activation + dialog.requestClose(); + assert_false(dialog.open,'cancel event was not cancelled - dialog should now close'); + },`requestClose can be cancelled ${testDescription}`); + + promise_test(async (t) => { + await setup(t,closedby); + openDialog(modal); + assert_equals(dialog.returnValue,'','Return value starts out empty'); + const returnValue = 'The return value'; + dialog.requestClose(returnValue); + assert_false(dialog.open); + assert_equals(dialog.returnValue,returnValue,'Return value should be set'); + dialog.show(); + dialog.close(); + assert_equals(dialog.returnValue,returnValue,'Return value should not be changed by close()'); + dialog.show(); + dialog.close('another'); + assert_equals(dialog.returnValue,'another','Return value changes via close(value)'); + },`requestClose(returnValue) passes along the return value ${testDescription}`); + + promise_test(async (t) => { + await setup(t,closedby); + dialog.addEventListener('cancel',(e) => e.preventDefault(),{once:true}); + openDialog(modal); + dialog.returnValue = 'foo'; + assert_equals(dialog.returnValue,'foo'); + dialog.requestClose('This should not get saved'); + assert_true(dialog.open,'cancelled'); + assert_equals(dialog.returnValue,'foo','Return value should not be changed'); + },`requestClose(returnValue) doesn't change returnvalue when cancelled ${testDescription}`); + } + }); }); </script> diff --git a/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/support/target-blank-useractivation.html b/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/support/target-blank-useractivation.html new file mode 100644 index 00000000000..b171b32eae9 --- /dev/null +++ b/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/support/target-blank-useractivation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<a target="_blank" id="a_click_target">Click me</a> +<map id="map"> +<area coords="0,0,50,50" target="_blank"> +</map> +<img src="/images/blue.png" usemap="#map" style="width: 50px; height: 50px" id="area_click_target"> +<script> +let channel = new BroadcastChannel(window.location.search.substring(1)); +channel.addEventListener("message", (e) => { + if (e.data == "close") { + window.close(); + } +}); +channel.postMessage("ready"); +</script> diff --git a/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_useractivation.html b/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_useractivation.html new file mode 100644 index 00000000000..d752990eb47 --- /dev/null +++ b/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_useractivation.html @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Test that clicking target=_blank links consumes userActivation</title> +<link rel="help" href="https://html.spec.whatwg.org/#following-hyperlinks-2"> +<link rel="help" href="https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +</head> +<body> +<a target="_blank" id="a_click_target">Click me</a> +<map id="map"> +<area coords="0,0,50,50" target="_blank"> +</map> +<img src="/images/blue.png" usemap="#map" style="width: 50px; height: 50px" id="area_click_target"> +<script> + +const testUrl = "support/target-blank-useractivation.html"; + +function waitForNewWindow(aBroadcastChannelId) { + return new Promise(resolve => { + let channel = new BroadcastChannel(aBroadcastChannelId); + channel.addEventListener("message", (e) => { + assert_equals(e.data, "ready"); + channel.postMessage("close"); + resolve(); + }, {once: true}); + }); +} + +["a", "area"].forEach(tag => { + const link = document.querySelector(tag); + + promise_test(async () => { + let broadcastChannelId = `${tag}_click_script`; + link.href = `${testUrl}?${broadcastChannelId}`; + + await test_driver.bless('transient activation'); + assert_true(navigator.userActivation.isActive, 'should have user activation'); + + let newWindowPromise = waitForNewWindow(broadcastChannelId); + link.click(); + await newWindowPromise; + assert_false(navigator.userActivation.isActive, 'navigator.userActivation.isActive after opening a new window'); + }, `<${tag} target=_blank">.click()`); + + promise_test(async () => { + let broadcastChannelId = `${tag}_click`; + link.href = `${testUrl}?${broadcastChannelId}`; + + let newWindowPromise = waitForNewWindow(broadcastChannelId); + link.addEventListener("click", () => { + assert_true(navigator.userActivation.isActive, 'should have user activation'); + }); + // test_driver.click() doesn't work with <area> element in Chrome. + await new test_driver.Actions() + .pointerMove(1, 1, { origin: document.getElementById(`${tag}_click_target`) }) + .pointerDown() + .pointerUp() + .send(); + await newWindowPromise; + assert_false(navigator.userActivation.isActive, 'navigator.userActivation.isActive after opening a new window'); + }, `<${tag} target=_blank"> mouse click`); +}); +</script> +</body> +</html> diff --git a/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_useractivation_multi_globals.html b/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_useractivation_multi_globals.html new file mode 100644 index 00000000000..40fa0406656 --- /dev/null +++ b/tests/wpt/tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_useractivation_multi_globals.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Multi-globals: which userActivation should be consumed when opening a target=_blank link?</title> +<link rel="help" href="https://html.spec.whatwg.org/#following-hyperlinks-2"> +<link rel="help" href="https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +</head> +<body> +<script> + +const testUrl = "target-blank-useractivation.html"; + +function waitForNewWindow(aBroadcastChannelId) { + return new Promise(resolve => { + let channel = new BroadcastChannel(aBroadcastChannelId); + channel.addEventListener("message", (e) => { + assert_equals(e.data, "ready"); + resolve(channel); + }, {once: true}); + }); +} + +["a", "area"].forEach(tag => { + promise_test(async (t) => { + await test_driver.bless('active main test window to open popup test window'); + let popupPromise = waitForNewWindow("popup"); + let popup = window.open(`support/${testUrl}?popup`); + t.add_cleanup(() => { popup.close(); }); + await popupPromise; + + const broadcastChannelId = `${tag}_click_script`; + const link = popup.document.querySelector(tag); + link.href = `${testUrl}?${broadcastChannelId}`; + + await test_driver.bless('active main test window again'); + assert_true(navigator.userActivation.isActive, 'test window should have user activation'); + + await test_driver.bless('active popup test window', () => {}, popup); + assert_true(popup.navigator.userActivation.isActive, 'popup should have user activation'); + + let newWindowPromise = waitForNewWindow(broadcastChannelId); + link.click(); + let newWindowChannel = await newWindowPromise; + t.add_cleanup(() => { newWindowChannel.postMessage("close"); }); + + assert_true(navigator.userActivation.isActive, 'main test window should still have user activation'); + assert_false(popup.navigator.userActivation.isActive, 'popup test window should not have user activation'); + }, `<${tag} target=_blank">.click()`); +}); +</script> +</body> +</html> diff --git a/tests/wpt/tests/html/semantics/popovers/imperative-invokers.tentative.html b/tests/wpt/tests/html/semantics/popovers/imperative-invokers.html index 7cda696bfa8..7cda696bfa8 100644 --- a/tests/wpt/tests/html/semantics/popovers/imperative-invokers.tentative.html +++ b/tests/wpt/tests/html/semantics/popovers/imperative-invokers.html diff --git a/tests/wpt/tests/html/semantics/popovers/popover-hover-crash-hang.tentative.html b/tests/wpt/tests/html/semantics/popovers/popover-hover-hang.tentative.html index 60309398db0..7868fa71a55 100644 --- a/tests/wpt/tests/html/semantics/popovers/popover-hover-crash-hang.tentative.html +++ b/tests/wpt/tests/html/semantics/popovers/popover-hover-hang.tentative.html @@ -19,7 +19,7 @@ <button id=unrelated>Unrelated</button> <script> - promise_test(async (t) => { + promise_test(async (t) => { menu.showPopover(); assert_true(menu.matches(':popover-open')); await mouseHover(button,100); @@ -30,5 +30,5 @@ await mouseHover(unrelated,100); assert_true(submenu.matches(':popover-open')); // This test passes if nothing crashes/hangs. - },'crash test'); + },'This is a crash test - it has some asserts, but mostly is just checking for crashes'); </script> diff --git a/tests/wpt/tests/html/semantics/popovers/popover-nested-in-button.html b/tests/wpt/tests/html/semantics/popovers/popover-nested-in-button.html new file mode 100644 index 00000000000..ed4cb78f8c8 --- /dev/null +++ b/tests/wpt/tests/html/semantics/popovers/popover-nested-in-button.html @@ -0,0 +1,63 @@ +<!DOCTYPE html> +<meta charset="utf-8" /> +<link rel="author" href="mailto:masonf@chromium.org"> +<link rel=help href="https://github.com/whatwg/html/pull/10770"> +<link rel=help href="https://issues.chromium.org/issues/379241451"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/popover-utils.js"></script> + +<button id=case1 popovertarget=popover>Button + <div popover id=popover> + <span class=descendant>Popover</span> + </div> +</button> + +<button id=case2 popovertarget=case2 popover>Self link</button> + +<button popovertarget=case3>Button + <div popover id=case3> + <span class=descendant>Popover</span> + </div> +</button> + +<script> +promise_test(async t => { + const invoker = document.querySelector('#case1'); + const popover = invoker.querySelector('[popover]'); + const descendant = invoker.querySelector('.descendant'); + assert_false(popover.matches(':popover-open')); + invoker.click(); + assert_true(popover.matches(':popover-open')); + popover.click(); + assert_true(popover.matches(':popover-open'),'Should still be open'); + descendant.click(); + assert_true(popover.matches(':popover-open'),'Should still be open, even for descendant'); + popover.hidePopover(); +},'clicking a popover nested inside a button should not re-invoke the popover'); + +promise_test(async t => { + const element = document.querySelector('#case2'); + assert_false(element.matches(':popover-open')); + element.showPopover(); + assert_true(element.matches(':popover-open')); + element.click(); // This is a click on the button, which is also the popover + assert_false(element.matches(':popover-open')); + element.hidePopover(); +},'corner case: invoker that is also a popover'); + +promise_test(async t => { + const popover = document.querySelector('#case3'); + const outerInvoker = popover.parentElement; + const descendant = popover.querySelector('.descendant'); + const innerInvoker = popover.appendChild(document.createElement('button')); + innerInvoker.popoverTargetElement = popover; + assert_false(popover.matches(':popover-open')); + outerInvoker.click(); + assert_true(popover.matches(':popover-open')); + descendant.click(); + assert_true(popover.matches(':popover-open'),'descendant doesn\'t close popover'); + innerInvoker.click(); + assert_false(popover.matches(':popover-open'),'inner invoker still works'); +},'invoker inside popover still works, even with weird nesting'); +</script> diff --git a/tests/wpt/tests/html/syntax/parsing/misnested-form-in-template.html b/tests/wpt/tests/html/syntax/parsing/misnested-form-in-template.html new file mode 100644 index 00000000000..aafcc8379c0 --- /dev/null +++ b/tests/wpt/tests/html/syntax/parsing/misnested-form-in-template.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<link rel="author" href="mailto:haoran.tang.personal@gmail.com"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div> + A<template><br>BC<form>D<div>E</form>F</div>G</template>H +</div> + +<script> +test(function() { + const wrapper = document.querySelector('div'); + const expectedContent = "A<template><br>BC<form>D<div>E</div></form>FG</template>H"; + const actualContent = wrapper.innerHTML.trim(); + assert_equals(actualContent, expectedContent, "The parsed structure should match the expected result with correctly nested elements."); +}, "Testing parsing of misnested <form> tags inside <template>"); +</script> diff --git a/tests/wpt/tests/html/webappapis/atob/base64.any.js b/tests/wpt/tests/html/webappapis/atob/base64.any.js index 7f433f4d8a9..e9bcb67a9d9 100644 --- a/tests/wpt/tests/html/webappapis/atob/base64.any.js +++ b/tests/wpt/tests/html/webappapis/atob/base64.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + /** * btoa() as defined by the HTML5 spec, which mostly just references RFC4648. */ @@ -125,7 +127,7 @@ tests.push(["btoa(first 256 code points concatenated)", everything]); generate_tests(testBtoa, tests); -promise_test(() => fetch("../../../fetch/data-urls/resources/base64.json").then(res => res.json()).then(runAtobTests), "atob() setup."); +promise_test(() => fetch_json("../../../fetch/data-urls/resources/base64.json").then(runAtobTests), "atob() setup."); const idlTests = [ [undefined, null], diff --git a/tests/wpt/tests/interfaces/attribution-reporting-api.idl b/tests/wpt/tests/interfaces/attribution-reporting-api.idl index ed4497b56ff..3fe24bd34a0 100644 --- a/tests/wpt/tests/interfaces/attribution-reporting-api.idl +++ b/tests/wpt/tests/interfaces/attribution-reporting-api.idl @@ -8,6 +8,7 @@ interface mixin HTMLAttributionSrcElementUtils { }; HTMLAnchorElement includes HTMLAttributionSrcElementUtils; +HTMLAreaElement includes HTMLAttributionSrcElementUtils; HTMLImageElement includes HTMLAttributionSrcElementUtils; HTMLScriptElement includes HTMLAttributionSrcElementUtils; diff --git a/tests/wpt/tests/interfaces/fedcm.idl b/tests/wpt/tests/interfaces/fedcm.idl index 443d3311a24..c308ee273b9 100644 --- a/tests/wpt/tests/interfaces/fedcm.idl +++ b/tests/wpt/tests/interfaces/fedcm.idl @@ -29,9 +29,15 @@ enum IdentityCredentialRequestOptionsContext { "continue" }; +enum IdentityCredentialRequestOptionsMode { + "active", + "passive" +}; + dictionary IdentityCredentialRequestOptions { required sequence<IdentityProviderRequestOptions> providers; IdentityCredentialRequestOptionsContext context = "signin"; + IdentityCredentialRequestOptionsMode mode = "passive"; }; dictionary IdentityProviderConfig { @@ -85,8 +91,9 @@ dictionary IdentityProviderAccountList { sequence<IdentityProviderAccount> accounts; }; -dictionary IdentityProviderToken { - required USVString token; +dictionary IdentityAssertionResponse { + USVString token; + USVString continue_on; }; dictionary IdentityProviderClientMetadata { @@ -101,7 +108,12 @@ dictionary IdentityUserInfo { USVString picture; }; +dictionary IdentityResolveOptions { + USVString accountId; +}; + [Exposed=Window, SecureContext] interface IdentityProvider { static undefined close(); + static undefined resolve(DOMString token, optional IdentityResolveOptions options = {}); static Promise<sequence<IdentityUserInfo>> getUserInfo(IdentityProviderConfig config); }; diff --git a/tests/wpt/tests/interfaces/html.idl b/tests/wpt/tests/interfaces/html.idl index c295941fcb2..aefa95dbd82 100644 --- a/tests/wpt/tests/interfaces/html.idl +++ b/tests/wpt/tests/interfaces/html.idl @@ -133,12 +133,20 @@ interface HTMLElement : Element { ElementInternals attachInternals(); // The popover API - undefined showPopover(); + undefined showPopover(optional ShowPopoverOptions options = {}); undefined hidePopover(); - boolean togglePopover(optional boolean force); + boolean togglePopover(optional (TogglePopoverOptions or boolean) options = {}); [CEReactions] attribute DOMString? popover; }; +dictionary ShowPopoverOptions { + HTMLElement source; +}; + +dictionary TogglePopoverOptions : ShowPopoverOptions { + boolean force; +}; + HTMLElement includes GlobalEventHandlers; HTMLElement includes ElementContentEditable; HTMLElement includes HTMLOrSVGElement; diff --git a/tests/wpt/tests/interfaces/web-animations-2.idl b/tests/wpt/tests/interfaces/web-animations-2.idl index 4c3af535149..97a0d3f6c6b 100644 --- a/tests/wpt/tests/interfaces/web-animations-2.idl +++ b/tests/wpt/tests/interfaces/web-animations-2.idl @@ -14,7 +14,7 @@ partial interface AnimationTimeline { partial interface Animation { attribute CSSNumberish? startTime; attribute CSSNumberish? currentTime; - readonly attribute double? progress; + readonly attribute double? overallProgress; }; [Exposed=Window] diff --git a/tests/wpt/tests/interfaces/webgpu.idl b/tests/wpt/tests/interfaces/webgpu.idl index 700e83c2755..401d2ec69b5 100644 --- a/tests/wpt/tests/interfaces/webgpu.idl +++ b/tests/wpt/tests/interfaces/webgpu.idl @@ -81,6 +81,7 @@ dictionary GPURequestAdapterOptions { DOMString featureLevel = "core"; GPUPowerPreference powerPreference; boolean forceFallbackAdapter = false; + boolean xrCompatible = false; }; enum GPUPowerPreference { diff --git a/tests/wpt/tests/long-animation-frame/WEB_FEATURES.yml b/tests/wpt/tests/long-animation-frame/WEB_FEATURES.yml new file mode 100644 index 00000000000..86b772a45d1 --- /dev/null +++ b/tests/wpt/tests/long-animation-frame/WEB_FEATURES.yml @@ -0,0 +1,3 @@ +features: +- name: long-animation-frames + files: "**"
\ No newline at end of file diff --git a/tests/wpt/tests/media-capabilities/META.yml b/tests/wpt/tests/media-capabilities/META.yml index 2bd00efb9a7..eb4384efd1e 100644 --- a/tests/wpt/tests/media-capabilities/META.yml +++ b/tests/wpt/tests/media-capabilities/META.yml @@ -1,3 +1,3 @@ spec: https://w3c.github.io/media-capabilities/ suggested_reviewers: - - mounirlamouri + - markafoltz diff --git a/tests/wpt/tests/media-source/SourceBuffer-appendWindowEnd-rounding.html b/tests/wpt/tests/media-source/SourceBuffer-appendWindowEnd-rounding.html new file mode 100644 index 00000000000..673ba7457dc --- /dev/null +++ b/tests/wpt/tests/media-source/SourceBuffer-appendWindowEnd-rounding.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html> +<head> +<title>Test appendWindowEnd and frame end timestamp rounding</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="mediasource-util.js"></script> +</head> +<body> +</body> +<script> +const fps = 24; +const frames_per_keyframe = 8; +const default_sample_duration = 512; +const earliest_presentation_time = 1024; +const frame0_offset = earliest_presentation_time / default_sample_duration; + +// Presentation positions of the 8 frames in a segment are +// 0, 4, 2, 1, 3, 7, 6, 5. +let media; +promise_test(async t => { + media = await new Promise( + r => MediaSourceUtil.fetchManifestAndData( + t, + `mp4/test-v-128k-320x240-${fps}fps-${frames_per_keyframe}kfr-manifest.json`, + (type, data) => r({type, data}))); +}, 'setup'); + +async function append_frames({t, last_frame_pos}) { + assert_implements_optional(MediaSource.isTypeSupported(media.type), + 'type supported'); + + const v = document.createElement('video'); + const v_watcher = new EventWatcher(t, v, ['error']); + document.body.appendChild(v); + const media_source = new MediaSource(); + const media_source_watcher = + new EventWatcher(t, media_source, ['sourceopen']); + v.src = URL.createObjectURL(media_source); + await media_source_watcher.wait_for('sourceopen'); + + const source_buffer = media_source.addSourceBuffer(media.type); + assert_equals(source_buffer.mode, 'segments', 'source_buffer.mode'); + const source_buffer_watcher = + new EventWatcher(t, source_buffer, ['updateend']); + + // This is intentionally a sum of double precision representations of + // "presentation timestamp and frame duration" to match frame end timestamp + // in + // https://w3c.github.io/media-source/#sourcebuffer-coded-frame-processing + source_buffer.appendWindowEnd = last_frame_pos / fps + 1 / fps; + + source_buffer.appendBuffer(media.data); + await source_buffer_watcher.wait_for('updateend'); + assert_approx_equals(source_buffer.buffered.start(0), + frame0_offset / fps, + 1e-6, + 'source_buffer.buffered.start(0) after append'); + assert_approx_equals( + source_buffer.buffered.end(source_buffer.buffered.length - 1), + source_buffer.appendWindowEnd, + 1e-6, + 'source_buffer.buffered.end() after append'); + + media_source.endOfStream(); + assert_equals(media_source.duration, + source_buffer.buffered.end(source_buffer.buffered.length - 1), + 'media_source.duration == buffered.end'); + assert_equals(v.duration, media_source.duration, + 'v.duration == media_source.duration'); +}; + +// The first frame has presentation timestamp 2 frame durations after zero. +// +// The ninth frame has presentation timestamp 10 frame durations after zero +// and is a keyframe. The double precision sum of double presentation +// representations of its timestamp and frame duration is greater than the +// double precision representation of the tenth frame's timestamp. +// i.e 10/24 + 1/24 > 11/24, which would round down if rounded to +// nearest microseconds. +// +// The eighteenth frame has presentation timestamp 22 frame durations after +// zero. (Frames are not in presentation order.) It is immediately after a +// keyframe and so is found before the need random access point flag is set to +// true on applying appendWindowEnd. The double precision sum of double +// presentation representations of its timestamp and frame duration is less +// than the double precision representation of the tenth frame's timestamp. +// i.e 22/24 + 1/24 < 23/24, which would round down if rounded to nearest +// microseconds. +for (const last_frame_pos of [10, 22]) { + promise_test( + t => append_frames({t, last_frame_pos}), + `last frame at ${last_frame_pos}`); +} +</script> +</html> diff --git a/tests/wpt/tests/navigation-timing/nav2-test-document-replaced.html b/tests/wpt/tests/navigation-timing/nav2-test-document-replaced.html index 5972f20e9bd..480e2bef841 100644 --- a/tests/wpt/tests/navigation-timing/nav2-test-document-replaced.html +++ b/tests/wpt/tests/navigation-timing/nav2-test-document-replaced.html @@ -54,7 +54,7 @@ <h1> Description</h1> <p> - This test validates that a PerformanceNavigatingTiming corresponding to a detached document can't access a different document's state. </p> + This test validates that a PerformanceNavigationTiming corresponding to a detached document can't access a different document's state. </p> <iframe id="frameContext" onload="onload_test();" src="resources/blank_page_yellow_with_onunload.html" style="width: 250px; height: 250px;"></iframe> </body> </html> diff --git a/tests/wpt/tests/navigation-timing/nav2-test-timing-persistent.html b/tests/wpt/tests/navigation-timing/nav2-test-timing-persistent.html new file mode 100644 index 00000000000..c3db5e1dcf0 --- /dev/null +++ b/tests/wpt/tests/navigation-timing/nav2-test-timing-persistent.html @@ -0,0 +1,47 @@ +<!DOCTYPE HTML> +<html> + +<head> + <meta charset=utf-8> + <title>PerformanceNavigationTiming timing remains after iframe removed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> + +<body> + <script> + const timingAttributes = [ + 'domComplete', + 'domContentLoadedEventEnd', + 'domContentLoadedEventStart', + 'domInteractive', + ]; + function verify_timing(pnt, description) { + for (const att of timingAttributes) { + assert_greater_than(pnt[att], 0, `${description} ${att}`); + } + } + + promise_test(async function (t) { + const iframe = document.createElement("iframe"); + document.body.appendChild(iframe); + + iframe.src = "resources/blank_page_green.html"; + await new Promise(resolve => { + iframe.onload = function () { + assert_equals(iframe.contentWindow.performance.getEntriesByType("navigation").length, 1, "Only one navigation time entry"); + const pnt = iframe.contentWindow.performance.getEntriesByType("navigation")[0]; + assert_equals(pnt.name, iframe.contentWindow.location.toString(), "navigation name matches the window.location"); + assert_true(pnt.name.endsWith("blank_page_green.html"), "navigation name is blank_page_green.html"); + verify_timing(pnt, "timing values should be positive number:"); + iframe.remove(); + verify_timing(pnt, "timing values should remain positive after iframe is removed:"); + resolve(); + } + }); + + }, "iframe navigation times are persistent after the iframe is removed."); + </script> +</body> + +</html> diff --git a/tests/wpt/tests/notifications/worker-gc.https.window.js b/tests/wpt/tests/notifications/worker-gc.https.window.js new file mode 100644 index 00000000000..754e1fb1a8c --- /dev/null +++ b/tests/wpt/tests/notifications/worker-gc.https.window.js @@ -0,0 +1,34 @@ +// META: title=An active notification should prevent worker cycle collection +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/common/gc.js +// META: script=resources/helpers.js + +promise_setup(async () => { + await trySettingPermission("granted"); +}); + +promise_test(async t => { + let worker = new Worker(URL.createObjectURL(new Blob([` + const n = new Notification("foo"); + onmessage = () => n.close(); + n.onclose = () => self.postMessage("closed"); + postMessage("ready"); + `]))); + await new Promise(resolve => { + worker.addEventListener("message", ev => { + if (ev.data === "ready") { + resolve(); + } + }, { once: true }); + }); + const weakref = new WeakRef(worker); + worker = null; + + t.add_cleanup(() => { + weakref.deref()?.postMessage("close"); + }); + + await garbageCollect(); + assert_true(!!weakref.deref()); +}); diff --git a/tests/wpt/tests/page-visibility/WEB_FEATURES.yml b/tests/wpt/tests/page-visibility/WEB_FEATURES.yml new file mode 100644 index 00000000000..65c687eb6d4 --- /dev/null +++ b/tests/wpt/tests/page-visibility/WEB_FEATURES.yml @@ -0,0 +1,4 @@ +features: +- name: page-visibility-state + files: + - visibility-state-entry.tentative.html
\ No newline at end of file diff --git a/tests/wpt/tests/paint-timing/META.yml b/tests/wpt/tests/paint-timing/META.yml index 1892a41ed1c..2bd06a06518 100644 --- a/tests/wpt/tests/paint-timing/META.yml +++ b/tests/wpt/tests/paint-timing/META.yml @@ -1,3 +1,3 @@ spec: https://w3c.github.io/paint-timing/ suggested_reviewers: - - spanicker + - noamr diff --git a/tests/wpt/tests/paint-timing/paint-timing-mixin.html b/tests/wpt/tests/paint-timing/paint-timing-mixin.html new file mode 100644 index 00000000000..837d45620b6 --- /dev/null +++ b/tests/wpt/tests/paint-timing/paint-timing-mixin.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<head> +<title>Performance Paint Timing: Check that paintTime/presentationTime are available</title> +</head> +<body> +<script src="resources/utils.js"></script> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + setup({"hide_test_state": true}); + promise_test(async t => { + assert_implements(window.PerformancePaintTiming, "Paint Timing isn't supported."); + assert_implements("paintTime" in window.PerformancePaintTiming.prototype, "Paint Timing doesn't expose `paintTime`"); + await new Promise(r => window.addEventListener('load', r)); + await assertNoFirstContentfulPaint(t); + const img = document.createElement('img'); + img.src = 'resources/circles.png'; + document.body.append(img); + const reference_time = performance.now(); + const performance_entry_promise = new Promise(resolve => { + new PerformanceObserver(entries => { + const [entry] = entries.getEntriesByName("first-contentful-paint"); + if (entry) + resolve(entry); + }).observe({type: "paint"}); + }); + await new Promise(resolve => img.addEventListener("load", () => resolve())); + const entry = await performance_entry_promise; + assert_greater_than(entry.paintTime, reference_time); + assert_greater_than(entry.presentationTime, entry.paintTime); + assert_equals(entry.presentationTime, entry.startTime); +}, "Paint timing entries should expose paintTime and presentationTime"); +</script> +</body> +</html> diff --git a/tests/wpt/tests/paint-timing/resources/utils.js b/tests/wpt/tests/paint-timing/resources/utils.js index 5766971dd0d..ed58c957c97 100644 --- a/tests/wpt/tests/paint-timing/resources/utils.js +++ b/tests/wpt/tests/paint-timing/resources/utils.js @@ -22,8 +22,9 @@ async function assertNoFirstContentfulPaint(t) { async function assertFirstContentfulPaint(t) { return new Promise(resolve => { function checkFCP() { - if (performance.getEntriesByName('first-contentful-paint').length === 1) { - resolve(); + const entries = performance.getEntriesByName('first-contentful-paint'); + if (entries.length === 1) { + resolve(entries[0]); } else { t.step_timeout(checkFCP, 0); } @@ -43,10 +44,19 @@ async function test_fcp(label, before_assert_fcp_func) { await assertNoFirstContentfulPaint(t); main.className = 'preFCP'; await assertNoFirstContentfulPaint(t); + const time_before_fcp_func = performance.now(); if (before_assert_fcp_func) { await before_assert_fcp_func(); } main.className = 'contentful'; - await assertFirstContentfulPaint(t); + const entry = await assertFirstContentfulPaint(t); + if ("paintTime" in entry) { + if ("presentationTime" in entry) { + assert_greater_than(entry.presentationTime, entry.paintTime); + assert_equals(entry.startTime, entry.presentationTime); + } else { + assert_equals(entry.startTime, entry.paintTime); + } + } }, label); } diff --git a/tests/wpt/tests/performance-timeline/idlharness-shadowrealm.window.js b/tests/wpt/tests/performance-timeline/idlharness-shadowrealm.window.js index 6caaa330613..671c172d3e6 100644 --- a/tests/wpt/tests/performance-timeline/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/performance-timeline/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["performance-timeline"], ["hr-time", "dom"]); diff --git a/tests/wpt/tests/pointerevents/pointerevent_iframe-touch-action-none_touch.html b/tests/wpt/tests/pointerevents/pointerevent_iframe-touch-action-none_touch.html index 109aec8dcd3..3dd6a807c3c 100644 --- a/tests/wpt/tests/pointerevents/pointerevent_iframe-touch-action-none_touch.html +++ b/tests/wpt/tests/pointerevents/pointerevent_iframe-touch-action-none_touch.html @@ -1,66 +1,67 @@ <html> <head> - <title>iframe touch-action:none attribute</title> - <meta name="viewport" content="width=device-width"> - <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="pointerevent_support.js"></script> - <script src="/resources/testdriver.js"></script> - <script src="/resources/testdriver-actions.js"></script> - <script src="/resources/testdriver-vendor.js"></script> + <title>iframe touch-action:none does not prevent panning or zooming inside + the iframe</title> + <meta name="viewport" content="width=device-width"> + <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="pointerevent_support.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/resources/testdriver-vendor.js"></script> </head> - <body onload="run()"> + <style> + iframe { + touch-action: none; + } + </style> + <body> <h1>iframe touch-action:none attribute</h1> <h2 id="pointerTypeDescription"></h2> - <h4>Test Description: Drag your finger in the green rectangle below then tap the "Done" button.</h4> <br> - <iframe id="target" - style="touch-action:none;" - src="resources/iframe-touch-action-none-subframe.html"> - </iframe> - <input type="button" id="btnDone" value="Done"> + <iframe id="target"></iframe> </body> <script> - var event_log = []; + 'use strict'; - function resetTestState() { - event_log = []; + function loadFrame() { + return new Promise(resolve => { + const frame = document.getElementById('target'); + frame.onload = resolve; + frame.src = 'resources/iframe-touch-action-none-subframe.html'; + }); } - function run() { - var test_pointerEvent = setup_pointerevent_test("iframe received pointercancel", - ["touch"]); - var actions_promise; - var target = document.getElementById("target"); - - on_event(document.getElementById("btnDone"), "click", () => { - test_pointerEvent.step(() => { - assert_equals(event_log.join(", "), "pointercancel", - "exactly one pointercancel received"); - }); - actions_promise.then(() => test_pointerEvent.done()); + function messageReceived() { + return new Promise(resolve => { + window.addEventListener('message', (event) => { + if (event.source != target.contentWindow) { + return; + } + if (event.data && event.data.type == "subframe-event") { + resolve(event.data.eventType); + } }); + }); + } - on_event(window, "message", function(event) { - if (event.source != target.contentWindow) { - return; - } - if (event.data && event.data.type == "subframe-event") { - event_log.push(event.data.eventType); - } - }); + promise_test(async t => { + const target = document.getElementById("target"); + await loadFrame(); + + const messagePromise = messageReceived(); - actions_promise = new test_driver.Actions() + await new test_driver.Actions() .addPointer("pointer1", "touch") .pointerMove(0, 0, {origin: target}) .pointerDown() .pointerMove(25, 25, {origin: target}) .pointerUp() - .pointerMove(0, 0, {origin: btnDone}) - .pointerDown() - .pointerUp() .send(); - } + + const eventType = await messagePromise; + assert_equals(eventType, 'pointercancel'); + }, 'touch iframe received pointercancel'); </script> </html> diff --git a/tests/wpt/tests/pointerevents/pointerevent_pointerId_scope.html b/tests/wpt/tests/pointerevents/pointerevent_pointerId_scope.html index 33f5d4fda3d..c95fbf4ca15 100644 --- a/tests/wpt/tests/pointerevents/pointerevent_pointerId_scope.html +++ b/tests/wpt/tests/pointerevents/pointerevent_pointerId_scope.html @@ -1,116 +1,170 @@ <!doctype html> <html> - <!-- -Test cases for Pointer Events v1 spec -This document references Test Assertions (abbrev TA below) written by Cathy Chan -http://www.w3.org/wiki/PointerEvents/TestAssertions ---> - <head> - <title>Pointer Events pointerdown tests</title> - <meta name="viewport" content="width=device-width"> - <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/resources/testdriver.js"></script> - <script src="/resources/testdriver-actions.js"></script> - <script src="/resources/testdriver-vendor.js"></script> - <!-- Additional helper script for common checks across event types --> - <script type="text/javascript" src="pointerevent_support.js"></script> - <script> - var detected_pointertypes = {}; - var test_pointerEvent = async_test("pointerId of an active pointer is the same across iframes"); - // showPointerTypes is defined in pointerevent_support.js - // Requirements: the callback function will reference the test_pointerEvent object and - // will fail unless the async_test is created with the var name "test_pointerEvent". - add_completion_callback(showPointerTypes); - var detected_pointertypes = {}; - - function loadFrame() { - return new Promise(resolve => { - const innerframe = document.getElementById("innerframe"); - innerframe.onload = resolve; - innerframe.src = - "resources/pointerevent_pointerId_scope-iframe.html"; - }); - } - - async function run() { - await loadFrame(); - - var target0 = document.getElementById("target0"); - var innerframe = document.getElementById("innerframe"); - var target1 = innerframe.contentWindow.document.getElementsByTagName("div")[0]; - var pointerover_pointerId = null; - var pointerover_pointerType = null; - - var eventList = ['pointerenter', 'pointerover', 'pointermove', 'pointerout', 'pointerleave']; - var receivedEvents = {}; - var receivedEventsInnerFrame = {}; - - - function checkPointerId(event, inner) { - detected_pointertypes[event.pointerType] = true; - var eventName = (inner ? "inner frame " : "" ) + event.type; - test_pointerEvent.step(function() { - assert_equals(event.pointerId, pointerover_pointerId, "PointerId of " + eventName + " is not correct"); - assert_equals(event.pointerType, pointerover_pointerType, "PointerType of " + eventName + " is not correct"); - }, eventName + ".pointerId were the same as first pointerover"); - } - - on_event(window, "message", function(event) { - if (event.source != innerframe.contentWindow) { - return; - } - receivedEventsInnerFrame[event.data.type] = 1; - checkPointerId(event.data, true); - if (Object.keys(receivedEvents).length == eventList.length && Object.keys(receivedEventsInnerFrame).length == eventList.length) - test_pointerEvent.done(); - }); - - eventList.forEach(function(eventName) { - on_event(target0, eventName, function (event) { - if (pointerover_pointerId === null && event.type == 'pointerover') { - pointerover_pointerId = event.pointerId; - pointerover_pointerType = event.pointerType; - } else { - checkPointerId(event, false); - } - receivedEvents[event.type] = 1; - }); - }); - - var iframeRect = innerframe.getClientRects()[0]; - var rect = target1.getClientRects()[0]; - var center_x = Math.round(iframeRect.left + (rect.left + rect.right) / 2); - var center_y = Math.round(iframeRect.top + (rect.top + rect.bottom) / 2); - await new test_driver.Actions() - .pointerMove(0, 0, {origin: target0}) - .pointerMove(center_x, center_y) - .pointerMove(center_y, center_y + 100) - .send(); - } - </script> - </head> - <body onload="run()"> - <h1>Pointer Events pointerdown tests</h1> - Complete the following actions: - <ol> - <li>Start with your pointing device outside of black box, then move it into black box. If using touch just press in black box and don't release. - <li>Move your pointing device into purple box (without leaving the digitizer range if you are using hover supported pen or without releasing touch if using touch). Then move it out of the purple box. - </ol> - <div id="target0" class="touchActionNone"> - </div> - <!-- Document onload does not guarantee that child iframes have loaded. - Force synchronization by deferring setting the iframe's source - until a promise is set up to capture its load event. The root - document will load first, then the iframe. This ordering ensures - deterministic behavior. - --> - <iframe id="innerframe"></iframe> - <div id="complete-notice"> - <p>The following pointer types were detected: <span id="pointertype-log"></span>.</p> - <p>Refresh the page to run the tests again with a different pointer type.</p> - </div> - <div id="log"></div> - </body> +<head> + <title>Pointer Events pointerdown tests</title> + <meta name="viewport" content="width=device-width"> + <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> + <link rel="help" href="https://w3c.github.io/pointerevents/#dom-pointerevent-pointerid"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <!-- Additional helper script for common checks across event types --> + <script type="text/javascript" src="pointerevent_support.js"></script> + <script> + "use strict" + + function loadFrame() { + return new Promise(resolve => { + const innerframe = document.getElementById("innerframe"); + innerframe.onload = resolve; + innerframe.src = + "resources/pointerevent_pointerId_scope-iframe.html"; + }); + } + + const eventList = [ + 'pointerenter', + 'pointerover', + 'pointermove', + 'pointerout', + 'pointerleave' + ]; + + function recordEvents(test) { + const target0 = document.getElementById("target0"); + const innerframe = document.getElementById("innerframe"); + let activePointerId = undefined; + let activePointerType = undefined; + const eventsReceived = { + 'inner': {}, + 'outer': {}, + }; + + // Records the last event of a given type in the case of multiple + // events. + const recordEvent = (event, context) => { + if (activePointerId === undefined) { + activePointerId = event.pointerId; + } + if (activePointerType == undefined) { + activePointerType= event.pointerType; + } + eventsReceived[context][event.type] = { + pointerId: event.pointerId, + pointerType: event.pointerType + }; + } + + const listener = (event) => { + recordEvent(event, 'outer'); + }; + eventList.forEach(eventType => { + target0.addEventListener(eventType, listener); + }); + + const messageListener = (event) => { + if (event.source != innerframe.contentWindow) { + return; + } + recordEvent(event.data, 'inner'); + }; + window.addEventListener('message', messageListener); + + test.add_cleanup(() => { + eventList.forEach(eventType => { + target0.removeEventListener(eventType, listener); + }); + window.removeEventListener('message', messageListener); + }); + + return new Promise(resolve => { + document.addEventListener('pointerup', () => { + // As pointer events for the inner frame are routed via a post + // message, the outer frame won't see the event until the following + // event processing loop. Allow 2 additional animation frames to + // ensure adequate time to receive the events. + waitForAnimationFrames(2).then(() => { + eventsReceived.activePointerId = activePointerId; + eventsReceived.activePointerType = activePointerType; + resolve(eventsReceived); + }); + }, { once: true }); + }); + + }; + + async function run() { + await loadFrame(); + + const target0 = document.getElementById("target0"); + const innerframe = document.getElementById("innerframe"); + const target1 = + innerframe.contentWindow.document.getElementsByTagName("div")[0]; + + promise_test(async t => { + const results = recordEvents(t); + // Move from the target in the outer-frame to a target in the inner- + // frame, click on second target, move back to the first and click. + // The inner target is not centered in the iframe, thus its position + // needs to be calculated. + const iframeRect = innerframe.getClientRects()[0]; + const rect = target1.getClientRects()[0]; + const center_x = + Math.round(iframeRect.left + (rect.left + rect.right) / 2); + const center_y = + Math.round(iframeRect.top + (rect.top + rect.bottom) / 2); + + await new test_driver.Actions() + .pointerMove(0, 0, { origin: target0 }) + .pointerMove(center_x, center_y) + .pointerDown() + .pointerUp() + .pointerMove(0, 0, { origin: target0 }) + .pointerDown() + .pointerUp() + .send(); + + const events = await results; + + assert_equals( + Object.keys(events.outer).length, eventList.length, + "Missing events for outer target"); + assert_equals( + Object.keys(events.inner).length, eventList.length, + "Missing events for inner target"); + + const activePointerId = events.activePointerId; + const activePointerType = events.activePointerType; + eventList.forEach(eventName => { + assert_equals( + events.inner[eventName].pointerId, activePointerId, + `PointerId of ${eventName} in the inner frame is not correct`); + assert_equals( + events.outer[eventName].pointerId, activePointerId, + `PointerId of ${eventName} in the outer frame is not correct`); + assert_equals( + events.inner[eventName].pointerType, activePointerType, + `PointerType of ${eventName} in the inner frame is not correct`); + assert_equals( + events.outer[eventName].pointerType, activePointerType, + `PointerType of ${eventName} in the outer frame is not correct`); + }); + }, 'pointerId of an active pointer is the same across same origin ' + + 'frames'); + } + </script> +</head> +<body onload="run()"> + <h1>Pointer Events pointer ID tests</h1> + <div id="target0" class="touchActionNone"></div> + <!-- Document onload does not guarantee that child iframes have loaded. + Force synchronization by deferring setting the iframe's source + until a promise is set up to capture its load event. The root + document will load first, then the iframe. This ordering ensures + deterministic behavior. + --> + <iframe id="innerframe"></iframe> +</body> </html> diff --git a/tests/wpt/tests/presentation-api/META.yml b/tests/wpt/tests/presentation-api/META.yml index 64802e5cb44..1483b9e6b50 100644 --- a/tests/wpt/tests/presentation-api/META.yml +++ b/tests/wpt/tests/presentation-api/META.yml @@ -1,3 +1,4 @@ spec: https://w3c.github.io/presentation-api/ suggested_reviewers: - tidoust + - markafoltz diff --git a/tests/wpt/tests/resources/idlharness-shadowrealm.js b/tests/wpt/tests/resources/idlharness-shadowrealm.js index 9484ca6f512..b959ca00e83 100644 --- a/tests/wpt/tests/resources/idlharness-shadowrealm.js +++ b/tests/wpt/tests/resources/idlharness-shadowrealm.js @@ -1,3 +1,7 @@ +/* global shadowRealmEvalAsync */ + +// requires /resources/idlharness-shadowrealm-outer.js + // TODO: it would be nice to support `idl_array.add_objects` function fetch_text(url) { return fetch(url).then(function (r) { @@ -23,38 +27,25 @@ function fetch_text(url) { function idl_test_shadowrealm(srcs, deps) { promise_setup(async t => { const realm = new ShadowRealm(); - // https://github.com/web-platform-tests/wpt/issues/31996 - realm.evaluate("globalThis.self = globalThis; undefined;"); - - realm.evaluate(` - globalThis.self.GLOBAL = { - isWindow: function() { return false; }, - isWorker: function() { return false; }, - isShadowRealm: function() { return true; }, - }; undefined; - `); const specs = await Promise.all(srcs.concat(deps).map(spec => { return fetch_text("/interfaces/" + spec + ".idl"); })); const idls = JSON.stringify(specs); - await new Promise( - realm.evaluate(`(resolve,reject) => { - (async () => { - await import("/resources/testharness.js"); - await import("/resources/WebIDLParser.js"); - await import("/resources/idlharness.js"); - const idls = ${idls}; - const idl_array = new IdlArray(); - for (let i = 0; i < ${srcs.length}; i++) { - idl_array.add_idls(idls[i]); - } - for (let i = ${srcs.length}; i < ${srcs.length + deps.length}; i++) { - idl_array.add_dependency_idls(idls[i]); - } - idl_array.test(); - })().then(resolve, (e) => reject(e.toString())); - }`) - ); + await shadowRealmEvalAsync(realm, ` + await import("/resources/testharness-shadowrealm-inner.js"); + await import("/resources/testharness.js"); + await import("/resources/WebIDLParser.js"); + await import("/resources/idlharness.js"); + const idls = ${idls}; + const idl_array = new IdlArray(); + for (let i = 0; i < ${srcs.length}; i++) { + idl_array.add_idls(idls[i]); + } + for (let i = ${srcs.length}; i < ${srcs.length + deps.length}; i++) { + idl_array.add_dependency_idls(idls[i]); + } + idl_array.test(); + `); await fetch_tests_from_shadow_realm(realm); }); } diff --git a/tests/wpt/tests/resources/testharness-shadowrealm-audioworkletprocessor.js b/tests/wpt/tests/resources/testharness-shadowrealm-audioworkletprocessor.js new file mode 100644 index 00000000000..a87d9130908 --- /dev/null +++ b/tests/wpt/tests/resources/testharness-shadowrealm-audioworkletprocessor.js @@ -0,0 +1,52 @@ +/** + * AudioWorkletProcessor intended for hosting a ShadowRealm and running a test + * inside of that ShadowRealm. + */ +globalThis.TestRunner = class TestRunner extends AudioWorkletProcessor { + constructor() { + super(); + this.createShadowRealmAndStartTests(); + } + + /** + * Fetch adaptor function intended as a drop-in replacement for fetchAdaptor() + * (see testharness-shadowrealm-outer.js), but it does not assume fetch() is + * present in the realm. Instead, it relies on setupFakeFetchOverMessagePort() + * having been called on the port on the other side of this.port's channel. + */ + fetchOverPortExecutor(resource) { + return (resolve, reject) => { + const listener = (event) => { + if (typeof event.data !== "string" || !event.data.startsWith("fetchResult::")) { + return; + } + + const result = event.data.slice("fetchResult::".length); + if (result.startsWith("success::")) { + resolve(result.slice("success::".length)); + } else { + reject(result.slice("fail::".length)); + } + + this.port.removeEventListener("message", listener); + } + this.port.addEventListener("message", listener); + this.port.start(); + this.port.postMessage(`fetchRequest::${resource}`); + } + } + + /** + * Async method, which is patched over in + * (test).any.audioworklet-shadowrealm.js; see serve.py + */ + async createShadowRealmAndStartTests() { + throw new Error("Forgot to overwrite this method!"); + } + + /** Overrides AudioWorkletProcessor.prototype.process() */ + process() { + return false; + } +}; +registerProcessor("test-runner", TestRunner); diff --git a/tests/wpt/tests/resources/testharness-shadowrealm-inner.js b/tests/wpt/tests/resources/testharness-shadowrealm-inner.js new file mode 100644 index 00000000000..98df77b0b6c --- /dev/null +++ b/tests/wpt/tests/resources/testharness-shadowrealm-inner.js @@ -0,0 +1,27 @@ +// testharness file with ShadowRealm utilities to be imported inside ShadowRealm + +/** + * Set up all properties on the ShadowRealm's global object that tests will + * expect to be present. + * + * @param {string} queryString - string to use as value for location.search, + * used for subsetting some tests + * @param {function} fetchAdaptor - a function that takes a resource URI and + * returns a function which itself takes a (resolve, reject) pair from the + * hosting realm, and calls resolve with the text result of fetching the + * resource, or reject with a string indicating the error that occurred + */ +globalThis.setShadowRealmGlobalProperties = function (queryString, fetchAdaptor) { + globalThis.fetch_json = (resource) => { + const executor = fetchAdaptor(resource); + return new Promise(executor).then((s) => JSON.parse(s)); + }; + + globalThis.location = { search: queryString }; +}; + +globalThis.GLOBAL = { + isWindow: function() { return false; }, + isWorker: function() { return false; }, + isShadowRealm: function() { return true; }, +}; diff --git a/tests/wpt/tests/resources/testharness-shadowrealm-outer.js b/tests/wpt/tests/resources/testharness-shadowrealm-outer.js new file mode 100644 index 00000000000..9665ff2656f --- /dev/null +++ b/tests/wpt/tests/resources/testharness-shadowrealm-outer.js @@ -0,0 +1,127 @@ +// testharness file with ShadowRealm utilities to be imported in the realm +// hosting the ShadowRealm + +/** + * Convenience function for evaluating some async code in the ShadowRealm and + * waiting for the result. + * + * @param {ShadowRealm} realm - the ShadowRealm to evaluate the code in + * @param {string} asyncBody - the code to evaluate; will be put in the body of + * an async function, and must return a value explicitly if a value is to be + * returned to the hosting realm. + */ +globalThis.shadowRealmEvalAsync = function (realm, asyncBody) { + return new Promise(realm.evaluate(` + (resolve, reject) => { + (async () => { + ${asyncBody} + })().then(resolve, (e) => reject(e.toString())); + } + `)); +}; + +/** + * Convenience adaptor function for fetch() that can be passed to + * setShadowRealmGlobalProperties() (see testharness-shadowrealm-inner.js). + * Used to adapt the hosting realm's fetch(), if present, to fetch a resource + * and pass its text through the callable boundary to the ShadowRealm. + */ +globalThis.fetchAdaptor = (resource) => (resolve, reject) => { + fetch(resource) + .then(res => res.text()) + .then(resolve, (e) => reject(e.toString())); +}; + +let sharedWorkerMessagePortPromise; +/** + * Used when the hosting realm is a worker. This value is a Promise that + * resolves to a function that posts a message to the worker's message port, + * just like postMessage(). The message port is only available asynchronously in + * SharedWorkers and ServiceWorkers. + */ +globalThis.getPostMessageFunc = async function () { + if (typeof postMessage === "function") { + return postMessage; // postMessage available directly in dedicated worker + } + + if (typeof clients === "object") { + // Messages from the ShadowRealm are not in response to any message received + // from the ServiceWorker's client, so broadcast them to all clients + const allClients = await clients.matchAll({ includeUncontrolled: true }); + return function broadcast(msg) { + allClients.map(client => client.postMessage(msg)); + } + } + + if (sharedWorkerMessagePortPromise) { + return await sharedWorkerMessagePortPromise; + } + + throw new Error("getPostMessageFunc is intended for Worker scopes"); +} + +// Port available asynchronously in shared worker, but not via an async func +let savedResolver; +if (globalThis.constructor.name === "SharedWorkerGlobalScope") { + sharedWorkerMessagePortPromise = new Promise((resolve) => { + savedResolver = resolve; + }); + addEventListener("connect", function (event) { + const port = event.ports[0]; + savedResolver(port.postMessage.bind(port)); + }); +} + +/** + * Used when the hosting realm does not permit dynamic import, e.g. in + * ServiceWorkers or AudioWorklets. Requires an adaptor function such as + * fetchAdaptor() above, or an equivalent if fetch() is not present in the + * hosting realm. + * + * @param {ShadowRealm} realm - the ShadowRealm in which to setup a + * fakeDynamicImport() global function. + * @param {function} adaptor - an adaptor function that does what fetchAdaptor() + * does. + */ +globalThis.setupFakeDynamicImportInShadowRealm = function(realm, adaptor) { + function fetchModuleTextExecutor(url) { + return (resolve, reject) => { + new Promise(adaptor(url)) + .then(text => realm.evaluate(text + ";\nundefined")) + .then(resolve, (e) => reject(e.toString())); + } + } + + realm.evaluate(` + (fetchModuleTextExecutor) => { + globalThis.fakeDynamicImport = function (url) { + return new Promise(fetchModuleTextExecutor(url)); + } + } + `)(fetchModuleTextExecutor); +}; + +/** + * Used when the hosting realm does not expose fetch(), i.e. in worklets. The + * port on the other side of the channel needs to send messages starting with + * 'fetchRequest::' and listen for messages starting with 'fetchResult::'. See + * testharness-shadowrealm-audioworkletprocessor.js. + * + * @param {port} MessagePort - the message port on which to listen for fetch + * requests + */ +globalThis.setupFakeFetchOverMessagePort = function (port) { + port.addEventListener("message", (event) => { + if (typeof event.data !== "string" || !event.data.startsWith("fetchRequest::")) { + return; + } + + fetch(event.data.slice("fetchRequest::".length)) + .then(res => res.text()) + .then( + text => port.postMessage(`fetchResult::success::${text}`), + error => port.postMessage(`fetchResult::fail::${error}`), + ); + }); + port.start(); +} diff --git a/tests/wpt/tests/sanitizer-api/sanitizer-basic-filtering.tentative.html b/tests/wpt/tests/sanitizer-api/sanitizer-basic-filtering.tentative.html new file mode 100644 index 00000000000..8a3aa4f757b --- /dev/null +++ b/tests/wpt/tests/sanitizer-api/sanitizer-basic-filtering.tentative.html @@ -0,0 +1,297 @@ +<!DOCTYPE html> +<head> +<title>Testcases from the previous Sanitizer API</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support/html5lib-testcase-support.js"></script> +<!-- + This is a set of basic Sanitizer test cases that will use every feature in + the configuration at least once. This suite tries to go for completeness, and + not so much for tricky edge cases. + + These tests deliberately stay clear of any "unsafe" features, so that we can + use the same test data with safe and unsafe methods. + + The testcases are grouped into several groups (one group per <script> element) + to make them easier to use when debugging. +--> +<script id="text" type="html5lib-testcases"> +#data +text +#document +| "text" + +</script> +<script id="elements" type="html5lib-testcases"> +#data +<div><p>Hello <b>World!</b> +#config +{} +#document +| <div> +| <p> +| "Hello " +| <b> +| "World!" + +#data +<div><p>Hello <b>World!</b> +#config +{ "elements": ["div", "p"]} +#document +| <div> +| <p> +| "Hello " + +#data +<div><p>Hello <b>World!</b> +#config +{ "elements": ["div", "b"]} +#document +| <div> + +#data +<div><p>Hello <b>World!</b> +#config +{ "removeElements": ["b"]} +#document +| <div> +| <p> +| "Hello " + +#data +<div><p>Hello <b>World!</b> +#config +{ "replaceWithChildrenElements": ["p"]} +#document +| <div> +| "Hello " +| <b> +| "World!" + +</script> +<script id="attributes" type="html5lib-testcases"> +#data +<p id="hello" style="font-weight: bold">x +#config +{} +#document +| <p> +| id="hello" +| style="font-weight: bold" +| "x" + +#data +<p id="hello" style="font-weight: bold">x +#config +{ "attributes": ["style"]} +#document +| <p> +| style="font-weight: bold" +| "x" + +#data +<p id="hello" style="font-weight: bold">x +#config +{ "removeAttributes": ["style"]} +#document +| <p> +| id="hello" +| "x" + +</script> +<script id="attributes-per-element" type="html5lib-testcases"> +#data +<div style="font-weight: bold" class="bourgeoisie"> +#config +{ "elements": [{ "name": "div", "attributes": ["style"]}]} +#document +| <div> +| style="font-weight: bold" + +#data +<div style="font-weight: bold" class="bourgeoisie"> +#config +{ "elements": [{ "name": "div", "removeAttributes": ["style"]}]} +#document +| <div> +| class="bourgeoisie" + +</script> +<script id="comments" type="html5lib-testcases"> +#data +a <!-- comment --> b +#config +{ "comments": true} +#document +| "a " +| <!-- comment --> +| " b" + +#data +a <!-- comment --> b +#config +{ "comments": false} +#document +| "a " +| " b" + +</script> +<script id="dataAttributes" type="html5lib-testcases"> +#data +<p data-x="1" data-y="2" data-z="3"> +#document +| <p> +| data-x="1" +| data-y="2" +| data-z="3" + +#data +<p data-x="1" data-y="2" data-z="3"> +#config +{ + "attributes": [ "data-x" ], + "removeAttributes": [ "data-y" ], + "dataAttributes": true +} +#document +| <p> +| data-x="1" +| data-z="3" + +#data +<p data-x="1" data-y="2" data-z="3"> +#config +{ + "attributes": [ "data-x" ], + "removeAttributes": [ "data-y" ], + "dataAttributes": false +} +#document +| <p> +| data-x="1" + +</script> +<script id="namespaces" type="html5lib-testcases"> +#data +<svg><rect></svg><math><mi>x +#document +| <svg svg> +| <svg rect> +| <math math> +| <math mi> +| "x" + +#data +<svg><rect> +#config +{ "elements": [{ "name": "svg", "namespace": "http://www.w3.org/2000/svg" }]} +#document +| <svg svg> + +#data +<svg><rect> +#config +{ "elements": [{ "name": "svg", "namespace": "http://www.w3.org/2000/svg" }, + { "name": "rect", "namespace": "http://www.w3.org/2000/svg" }]} +#document +| <svg svg> +| <svg rect> + +#data +<svg><rect> +#config +{ "elements": [{ "name": "svg", "namespace": "http://www.w3.org/2000/svg" }], + "removeElements": [{ "name": "rect", "namespace": "http://www.w3.org/2000/svg" }]} +#document +| <svg svg> + +#data +<math><mi>x +#config +{ "elements": [{ "name": "math", "namespace": "http://www.w3.org/1998/Math/MathML" }]} +#document +| <math math> + +#data +<math><mi>x +#config +{ "elements": [{ "name": "math", "namespace": "http://www.w3.org/1998/Math/MathML" }, + { "name": "mi", "namespace": "http://www.w3.org/1998/Math/MathML" }]} +#document +| <math math> +| <math mi> +| "x" + +#data +<math><mi>x +#config +{ "elements": [{ "name": "math", "namespace": "http://www.w3.org/1998/Math/MathML" }], + "removeElements": [{ "name": "mi", "namespace": "http://www.w3.org/1998/Math/MathML" }]} +#document +| <math math> + +#data +<svg xml:space="default" xlink:href="about:blank" xmlns:foo="barspace"> +#config +{ "elements": [{ "name": "svg", "namespace": "http://www.w3.org/2000/svg" }]} +#document +| <svg svg> +| xml space="default" +| xlink href="about:blank" +| xmlns:foo="barspace" + +#data +<svg xml:space="default" xlink:href="about:blank" xmlns:foo="barspace"> +#config +{ "elements": [{ "name": "svg", "namespace": "http://www.w3.org/2000/svg" }], + "attributes": [{"name": "space", "namespace": "http://www.w3.org/XML/1998/namespace" }], + "removeAttributes": [{"name": "href", "namespace": "http://www.w3.org/1999/xlink" }] } +#document +| <svg svg> +| xml space="default" + +#data +<svg xml:space="default" xlink:href="about:blank" xmlns:foo="barspace"> +#config +{ "elements": [{ "name": "svg", "namespace": "http://www.w3.org/2000/svg" }], + "attributes": [{"name": "href", "namespace": "http://www.w3.org/1999/xlink" }] , + "removeAttributes": [{"name": "space", "namespace": "http://www.w3.org/XML/1998/namespace" }] } +#document +| <svg svg> +| xlink href="about:blank" + +</script> +<script> +for(const group of + document.querySelectorAll("script[type='html5lib-testcases']")) { + parse_html5lib_testcases(group.textContent).forEach((testcase, index) => { + let config = undefined; + try { + config = { sanitizer: JSON.parse(testcase.config) }; + } catch { /* config remains undefined */ } + + test(_ => { + const div = document.createElement("div"); + div.setHTML(testcase.data, config); + assert_testcase(div, testcase); + }, `setHTML testcase ${group.id}/${index}, "${testcase.data}"`); + test(_ => { + const div = document.createElement("div"); + div.setHTMLUnsafe(testcase.data, config); + assert_testcase(div, testcase); + }, `setHTMLUnsafe testcase ${group.id}/${index}, "${testcase.data}"`); + test(_ => { + assert_testcase( + Document.parseHTML(testcase.data, config).body, testcase); + }, `parseHTML testcase ${group.id}/${index}, "${testcase.data}"`); + test(_ => { + assert_testcase( + Document.parseHTMLUnsafe(testcase.data, config).body, testcase); + }, `parseHTMLUnsafe testcase ${group.id}/${index}, "${testcase.data}"`); + }); +} +</script> +</head> +<body> +</body> diff --git a/tests/wpt/tests/sanitizer-api/sanitizer-insecure-context.html b/tests/wpt/tests/sanitizer-api/sanitizer-insecure-context.html deleted file mode 100644 index 4b185fd3a74..00000000000 --- a/tests/wpt/tests/sanitizer-api/sanitizer-insecure-context.html +++ /dev/null @@ -1,17 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> -</head> -<body> -<script> - // Currently, the Sanitizer requires a secure context. - test(t => { - assert_false(globalThis.isSecureContext); - assert_equals("Sanitizer" in globalThis, globalThis.isSecureContext); - assert_equals("setHTML" in document.body, globalThis.isSecureContext); - }, "Sanitizer API in an insecure context."); -</script> -</body> -</html> diff --git a/tests/wpt/tests/sanitizer-api/sanitizer-names.https.html b/tests/wpt/tests/sanitizer-api/sanitizer-names.tenative.html index 78f1d605a19..8b70d723222 100644 --- a/tests/wpt/tests/sanitizer-api/sanitizer-names.https.html +++ b/tests/wpt/tests/sanitizer-api/sanitizer-names.tenative.html @@ -34,14 +34,14 @@ for (const item of ["elements", "removeElements", "replaceWithChildrenElements"]) { test(t => { const sanitizer = new Sanitizer({[item]: all_elems}); - assert_array_same(sanitizer.getConfiguration()[item], - elems_valid.map(x => "" + x)); + assert_array_same(sanitizer.get()[item].map(x => x.name), + elems_valid.map(x => "" + x)); }, `Element names in config item: ${item}`); } for (const item of ["attributes", "removeAttributes"]) { test(t => { const sanitizer = new Sanitizer({[item]: all_attrs}); - assert_array_same(Object.keys(sanitizer.getConfiguration()[item]), + assert_array_same(sanitizer.get()[item].map(x => x.name), attrs_valid.map(x => "" + x)); }, `Attribute names in config item: ${item}`); } @@ -55,19 +55,16 @@ const MATHML_NS = "http://www.w3.org/1998/Math/MathML"; [ [ "p", "<p>Hello</p>" ], - [ "svg", "<svg>Hello</svg>", "Hello" ], + [ "svg", "<svg>Hello</svg>", "" ], [ { name: "svg", namespace: SVG_NS }, "<svg>Hello</svg>" ], - [ "math", "<math>Hello</math>", "Hello" ], - [ { name: "math", namespace: SVG_NS }, "<math>Hello</math>", "Hello" ], + [ "math", "<math>Hello</math>", "" ], + [ { name: "math", namespace: SVG_NS }, "<math>Hello</math>", "" ], [ { name: "math", namespace: MATHML_NS }, "<math>Hello</math>" ], ].forEach(([elem, probe, expected], index) => { test(t => { - const options = { elements: [elem], - // TODO(https://github.com/WICG/sanitizer-api/issues/167) - unknownMarkup: true}; - const template = document.createElement("template"); - template.setHTML(probe, {sanitizer: options}); - assert_equals(template.innerHTML, expected ?? probe); + const div = document.createElement("div"); + div.setHTML(probe, {sanitizer: {elements: [elem]}}); + assert_equals(div.innerHTML, expected ?? probe); }, `Namespaced elements #${index}: elements: [${JSON.stringify(elem)}]`); }); @@ -109,8 +106,10 @@ assert_equals(template.innerHTML, probe); }, "Namespaced attribute xlink:href inside SVG tree"); - // Most element and attribute names are lower-cased, but "foreign content" - // like SVG and MathML have some mixed-cased names. + // Names are case-senstive. Most element and attribute names are + // lower-cased, but "foreign content" like SVG and MathML have some + // mixed-cased names. Check this is supported. Check there is no + // case normalization. [ [ "feBlend", "<feBlend></feBlend>" ], [ "feColorMatrix", "<feColorMatrix></feColorMatrix>" ], @@ -131,18 +130,11 @@ assert_equals(sanitize(elem, probe), probe); }, `Mixed-case element names #${index}: "svg:${elem}"`); test(t => { - // Lowercase element names should be normalized to mixed-case. - assert_equals(sanitize(elem.toLowerCase(), probe), probe); + assert_not_equals(sanitize(elem.toLowerCase(), probe), probe); }, `Lower-case element names #${index}: "svg:${elem.toLowerCase()}"`); test(t => { assert_not_equals(sanitize(elem.toUpperCase(), probe), probe); }, `Upper-case element names #${index}: "svg:${elem.toUpperCase()}"`); - test(t => { - const elems = ["svg:" + elem]; - assert_array_equals( - new Sanitizer({elements: elems}).getConfiguration().allowElements.toSorted(), - elems); - }, `Mixed case element names #${index}: "${elem}" is preserved in config.`); }); </script> </body> diff --git a/tests/wpt/tests/sanitizer-api/sanitizer-query-config.https.html b/tests/wpt/tests/sanitizer-api/sanitizer-query-config.https.html deleted file mode 100644 index 60cba2d618b..00000000000 --- a/tests/wpt/tests/sanitizer-api/sanitizer-query-config.https.html +++ /dev/null @@ -1,79 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> -</head> -<body> -<script> - function assert_deep_equals(obj1, obj2) { - assert_equals(typeof obj1, typeof obj2); - if (typeof obj1 == "string") { - assert_equals(obj1, obj2); - } else if (typeof obj1 == "boolean") { - assert_true(obj1 == obj2); - } else if (Array.isArray(obj1)) { - assert_equals(obj1.length, obj2.length); - assert_array_equals(obj1.sort(), obj2.sort()); - } else if (typeof obj1 == "object") { - assert_array_equals(Object.keys(obj1).sort(), Object.keys(obj2).sort()); - for (const k of Object.keys(obj1)) - assert_deep_equals(obj1[k], obj2[k]); - } - } - - test(t => { - // Quick sanity test: Test a few default values. - assert_in_array("div", Sanitizer.getDefaultConfiguration().allowElements); - assert_false(Sanitizer.getDefaultConfiguration().allowElements.includes("script")); - assert_false(Sanitizer.getDefaultConfiguration().allowElements.includes("noscript")); - - assert_true("span" in Sanitizer.getDefaultConfiguration().allowAttributes); - assert_false("onclick" in Sanitizer.getDefaultConfiguration().allowAttributes); - - assert_false("dropElements" in Sanitizer.getDefaultConfiguration()); - assert_false("blockElements" in Sanitizer.getDefaultConfiguration()); - assert_false("dropAttributes" in Sanitizer.getDefaultConfiguration()); - assert_false(Sanitizer.getDefaultConfiguration().allowCustomElements); - assert_false(Sanitizer.getDefaultConfiguration().allowUnknownMarkup); - }, "SanitizerAPI getDefaultConfiguration()"); - - test(t => { - assert_deep_equals(Sanitizer.getDefaultConfiguration(), - new Sanitizer().getConfiguration()); - }, "SanitizerAPI getConfiguration() on default created Sanitizer"); - - test(t => { - const configs = [{ - allowElements: ["div", "span", "helloworld"], - dropElements: ["xxx"], - allowAttributes: { "class": ["*"], "color": ["span", "div"], - "onclick": ["*"] }, - allowCustomElements: true, - allowUnknownMarkup: true, - },{ - blockElements: ["table", "tbody", "th", "td"], - }, { - allowCustomElements: false, - }, { - allowUnknownMarkup: false, - }]; - for (const config of configs) - assert_deep_equals(config, new Sanitizer(config).getConfiguration()); - - // Also test a mixed case variant: - const config_0_mixed = { - allowElements: ["div", "sPAn", "HelloWorld"], - dropElements: ["XXX"], - allowAttributes: { "class": ["*"], "color": ["sPAn", "div"], - "onclick": ["*"] }, - allowCustomElements: true, - allowUnknownMarkup: true, - }; - assert_deep_equals(config_0_mixed, - new Sanitizer(config_0_mixed).getConfiguration()); - }, "SanitizerAPI getConfiguration() reflects creation config."); - -</script> -</body> -</html> diff --git a/tests/wpt/tests/sanitizer-api/sanitizer-secure-context.https.html b/tests/wpt/tests/sanitizer-api/sanitizer-secure-context.https.html deleted file mode 100644 index 0e04e04d169..00000000000 --- a/tests/wpt/tests/sanitizer-api/sanitizer-secure-context.https.html +++ /dev/null @@ -1,17 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> -</head> -<body> -<script> - // Currently, the Sanitizer requires a secure context. - test(t => { - assert_true(globalThis.isSecureContext); - assert_equals("Sanitizer" in globalThis, globalThis.isSecureContext); - assert_equals("setHTML" in document.body, globalThis.isSecureContext); - }, "SanitizerAPI in a secure context."); -</script> -</body> -</html> diff --git a/tests/wpt/tests/sanitizer-api/sanitizer-unknown.https.html b/tests/wpt/tests/sanitizer-api/sanitizer-unknown.tentative.html index 7b9835cb6d0..37bb8c83227 100644 --- a/tests/wpt/tests/sanitizer-api/sanitizer-unknown.https.html +++ b/tests/wpt/tests/sanitizer-api/sanitizer-unknown.tentative.html @@ -9,30 +9,30 @@ test(t => { d = document.createElement("div") d.setHTML("<hello><world>", - { sanitizer: { elements: ["hello", "world"] } }); + { sanitizer: { elements: ["b", "em"] } }); assert_equals(d.innerHTML, ""); -}, "Unknown element names get blocked without unknownMarkup."); +}, "Unknown element names get blocked without being allowed."); test(t => { d = document.createElement("div") d.setHTML("<hello><world>", - { sanitizer: { unknownMarkup: true, elements: ["hello", "world"] } }); + { sanitizer: { elements: ["hello", "world"] } }); assert_equals(d.innerHTML, "<hello><world></world></hello>"); -}, "Unknown element names pass with unknownMarkup."); +}, "Unknown element names pass when allowed."); test(t => { d = document.createElement("div") d.setHTML("<b hello='1' world>", - { sanitizer: { attributes: ["name", "world"] } }); + { sanitizer: { attributes: ["name", "href"] } }); assert_equals(d.innerHTML, "<b></b>"); -}, "Unknown attributes names get blocked without unknownMarkup."); +}, "Unknown attributes names get blocked without being allowed."); test(t => { d = document.createElement("div") d.setHTML("<b hello='1' world>", - { sanitizer: { unknownMarkup: true, attributes: ["name", "world"] } }); + { sanitizer: { attributes: ["hello", "world"] } }); assert_equals(d.innerHTML, `<b hello="1" world=""></b>`); -}, "Unknown attribute names pass with unknownMarkup."); +}, "Unknown attribute names pass when allowed."); </script> </body> </html> diff --git a/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.dat b/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.dat index 31c0cde233e..c5c30f61313 100644 --- a/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.dat +++ b/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.dat @@ -63,70 +63,63 @@ hello<script>alert('i am a test')</script> #data test #config -{ test: 123 } +{ "test": 123 } #document | "test" #data test #config -{ removeElements: [] } +{ "removeElements": [] } #document | "test" #data <div>test</div><p>bla #config -{ removeElements: ["div"] } +{ "removeElements": ["div"] } #document | <p> | "bla" #data -<custom-element>test</custom-element>bla +<custom-element>test1</custom-element>bla #document | "bla" #data -<custom-element>test</custom-element>bla +<custom-element>test2</custom-element>bla #config -{ customElements: true } +{ "customElements": true } #document -| "testbla" +| "test2bla" #data -<custom-element>test</custom-element>bla +<custom-element>test3</custom-element>bla #config -{ customElements: true, elements: ["custom-element"] } +{ "elements": ["custom-element"] } #document, | <custom-element> -| "test" +| "test3" | "bla" #data -<custom-element>test</custom-element>bla +<custom-element>test5</custom-element>bla #config -{ customElements: false } -#document -| "bla" - -#data -<custom-element>test</custom-element>bla -#config -{ removeElements: ["custom-element"], customElements: true } +{ "removeElements": ["custom-element"] } #document | "bla" #data <script>alert('i am a test')</script> #config -{ removeElements: ["script"] } +{ "removeElements": ["script"] } #document #data <div>balabala<i>test</i></div><test-element>t</test-element> #config -{ removeElements: ["test-element", "i"] } +{ "removeElements": ["test-element", "i"] } #document | <div> | "balabala" @@ -134,7 +127,7 @@ test #data <div>balabala<i>i</i><p>t</p></div> #config -{ removeElements: ["dl", "p"] } +{ "removeElements": ["dl", "p"] } #document | <div> | "balabala" @@ -144,29 +137,31 @@ test #data <div>test<div>p</div>tt<p>div</p></div> #config -{ elements: ["p"] } +{ "elements": ["p"], "replaceWithChildrenElements": ["div"] } #document -| "testptt" +| "test" +| "p" +| "tt" | <p> | "div" #data <div>test</div><p>bla #config -{ removeElements: ["div"], elements: ["div"] } +{ "removeElements": ["div"], "elements": ["div"] } #document | "bla" #data <p id='test'>Click.</p> #config -{ removeAttributes: [] }, +{ "removeAttributes": [] }, #document #data <p id='test'>Click.</p> #config -{ removeAttributes: ["id"] } +{ "elements": ["p"], "removeAttributes": ["id"] } #document | <p> | "Click." @@ -174,7 +169,7 @@ test #data <p id='p' data-attribute-with-dashes='123'>Click.</p><script>document.getElementById('p').dataset.attributeWithDashes=123;</script> #config -{ removeAttributes: ["data-attribute-with-dashes"] } +{ "elements": ["p"], "removeAttributes": ["data-attribute-with-dashes"] } #document | <p> | id="p" @@ -183,9 +178,9 @@ test #data <p id='p' title='p'>P</p><div id='div' title='div'>DIV</div> #config -{ elements: [ - { name: "p", attributes: ["title"] }, - { name: "div", attributes: ["id"] }, +{ "elements": [ + { "name": "p", "attributes": ["title"] }, + { "name": "div", "attributes": ["id"] }, ]} #document | <p> @@ -198,10 +193,10 @@ test #data <p id='p' title='p'>P</p><div id='div' title='div'>DIV</div> #config -{ elements: +{ "elements": [ - { name: "p", removeAttributes: ["title"] }, - { name: "div", removeAttributes: ["id"] }, + { "name": "p", "removeAttributes": ["title"] }, + { "name": "div", "removeAttributes": ["id"] }, ], } #document @@ -215,7 +210,7 @@ test #data <div id='div' title='div'>DIV</div> #config -{ elements: [{ name: "div", attributes: ["id"], removeAttributes: ["id"] }],} +{ "elements": [{ "name": "div", "attributes": ["id"], "removeAttributes": ["id"] }]} #document | <div> | "DIV" @@ -223,18 +218,20 @@ test #data <div id='div' title='div'>DIV</div> #config -{ elements: [{ name: "div", attributes: ["id", "title"] }], - attributes: []} +{ "elements": [{ "name": "div", "attributes": ["id", "title"] }], + "attributes": []} #document | <div> +| id="div" +| title="div" | "DIV" #data <div id='div' title='div'>DIV</div> #config { - elements: [{ name: "div", attributes: ["id", "title"] }], - removeAttributes: ["id", "title"] + "elements": [{ "name": "div", "attributes": ["id", "title"] }], + "removeAttributes": ["id", "title"] } #document | <div> @@ -244,8 +241,8 @@ test <div id='div' title='div'>DIV</div> #config { - elements: [{ name: "div", removeAttributes: ["id", "title"] }], - attributes: ["id", "title"] + "elements": [{ "name": "div", "removeAttributes": ["id", "title"] }], + "attributes": ["id", "title"] } #document | <div> @@ -254,7 +251,7 @@ test #data <p id='test' onclick='a= 123'>Click.</p> #config -{ attributes: ["id"] } +{ "attributes": ["id"] } #document | <p> | id="test" @@ -263,7 +260,7 @@ test #data <p style='color: black'>Click.</p> #config -{ removeAttributes: ["style"], attributes: ["style"] } +{ "removeAttributes": ["style"], "attributes": ["style"] } #document | <p> | "Click." @@ -271,7 +268,7 @@ test #data <template><script>test</script><div>hello</div></template> #config -{ elements: ["template", "div"] } +{ "elements": ["template", "div"] } #document | <template> | content @@ -392,7 +389,7 @@ test #data <p>Some text</p><!-- 1 --><!-- 2 --><p>Some more text</p> #config -{ comments: true } +{ "comments": true } #document | <p> | "Some text" @@ -404,7 +401,7 @@ test #data <p>Some text</p><!-- 1 --><!-- 2 --><p>Some more text</p> #config -{ comments: false } +{ "comments": false } #document | <p> | "Some text" @@ -420,7 +417,7 @@ test #data <p>comment<!-- hello -->in<!-- </p> -->text</p> #config -{ comments: true } +{ "comments": true } #document | <p> | "comment" @@ -432,7 +429,7 @@ test #data <p>comment<!-- hello -->in<!-- </p> -->text</p> #config -{ comments: false } +{ "comments": false } #document | <p> | "commentintext" @@ -440,20 +437,20 @@ test #data <svg></svg> #config -{ elements: ["svg"] } +{ "elements": ["svg"] } #document #data <div><svg></svg></div> #config -{ elements: ["div", "svg"] } +{ "elements": ["div", "svg"] } #document | <div> #data <div>balabala<dl>test</dl></div> #config -{ removeElements: ["I", "DL"] } +{ "removeElements": ["I", "DL"] } #document | <div> | "balabala" @@ -463,7 +460,7 @@ test #data <div>balabala<dl>test</dl></div> #config -{ removeElements: ["i", "dl"] } +{ "removeElements": ["i", "dl"] } #document | <div> | "balabala" @@ -471,7 +468,7 @@ test #data <DIV>balabala<DL>test</DL></DIV> #config -{ removeElements: ["i", "dl"] } +{ "removeElements": ["i", "dl"] } #document | <div> | "balabala" @@ -479,7 +476,7 @@ test #data <p id="test">Click.</p> #config -{ removeAttributes: ["ID"] } +{ "removeAttributes": ["ID"] } #document | <p> | id="test" @@ -488,7 +485,7 @@ test #data <p ID="test">Click.</p> #config -{ removeAttributes: ["ID"] } +{ "removeAttributes": ["ID"] } #document | <p> | id="test" @@ -497,7 +494,7 @@ test #data <p ID="test">Click.</p> #config -{ removeAttributes: ["id"] } +{ "removeAttributes": ["id"] } #document | <p> | "Click." @@ -505,7 +502,7 @@ test #data <div>balabala<i>test</i></div><test>t</test><custom-element>custom-element</custom-element> #config -{ removeElements: [123, "test", "i", "custom-element"] } +{ "removeElements": [123, "test", "i", "custom-element"] } #document | <div> | "balabala" @@ -513,7 +510,8 @@ test #data <div>balabala<i>test</i></div><test>t</test><custom-element>custom-element</custom-element> #config -{ replaceWithChildrenElements: [123, "test", "i", "custom-element"] } +{ "replaceWithChildrenElements": [123, "test", "i", "custom-element"], + "elements": ["div"]} #document | <div> | "balabalatest" @@ -521,18 +519,22 @@ test #data <div>test<div>p</div>tt<p>div</p></div><test>test</test> #config -{ elements: ["p", "test"] } +{ "elements": ["p", "test"], "replaceWithChildrenElements": ["div"] } #document -| "testptt" -| <p> -| "div" +| "test" +| "p" +| "tt" +| <p> +| "div" +| <test> +| "test" #data <div>balabala<i>test</i></div><test>t</test><custom-element>custom-element</custom-element> #config { - removeElements: [123, "test", "i", "custom-element"], - unknownMarkup: true, + "removeElements": [123, "test", "i", "custom-element"], + "unknownMarkup": true, } #document | <div> @@ -542,20 +544,23 @@ test <div>balabala<i>test</i></div><test>t</test><custom-element>custom-element</custom-element> #config { - replaceWithChildrenElements: [123, "test", "i", "custom-element"], - unknownMarkup: true, + "replaceWithChildrenElements": [123, "test", "i", "custom-element"], + "unknownMarkup": true, } #document | <div> -| "balabalatest" +| "balabala" +| "test" | "t" #data -<div>test<div>p</div>tt<p>div</p><test>test</test></div> +test<div>p</div>tt<p>div</p><test>test</test> #config -{ elements: ["p", "test"], unknownMarkup: true } -#config -| "testptt" +{ "elements": ["p", "test"], "replaceWithChildrenElements": ["div"] } +#document +| "test" +| "p" +| "tt" | <p> | "div" | <test> @@ -564,15 +569,7 @@ test #data <div hello='1' world='2'><b hello='3' world='4'> #config -{ attributes: ["hello", "world"], } -#document -| <div> -| <b> - -#data -<div hello='1' world='2'><b hello='3' world='4'> -#config -{ attributes: ["hello", "world"], unknownMarkup: true, } +{ "elements": ["div", "b"], "attributes": ["hello", "world"] } #document | <div> | hello="1" @@ -584,15 +581,7 @@ test #data <div hello='1' world='2'><b hello='3' world='4'> #config -{ removeAttributes: ["hello", "world"] } -#document -| <div> -| <b> - -#data -<div hello='1' world='2'><b hello='3' world='4'> -#config -{ removeAttributes: ["hello", "world"], unknownMarkup: true, } +{ "elements": ["div", "b"], "removeAttributes": ["hello", "world"] } #document | <div> | <b> diff --git a/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.tentative.html b/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.tentative.html index dcb414cf5e5..bae406ef703 100644 --- a/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.tentative.html +++ b/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.tentative.html @@ -14,7 +14,11 @@ promise_test(_ => { testcases.forEach((testcase, index) => { test(_ => { const div = document.createElement("div"); - div.setHTML(testcase.data); + let config = undefined; + try { + config = JSON.parse(testcase.config); + } catch { } + div.setHTML(testcase.data, { sanitizer: config }); assert_testcase(div, testcase); }, `Testcase #${index}, "${testcase.data}".`); }); diff --git a/tests/wpt/tests/sanitizer-api/support/html5lib-testcase-support.js b/tests/wpt/tests/sanitizer-api/support/html5lib-testcase-support.js index 2829fd7b79d..fbfe81a1780 100644 --- a/tests/wpt/tests/sanitizer-api/support/html5lib-testcase-support.js +++ b/tests/wpt/tests/sanitizer-api/support/html5lib-testcase-support.js @@ -113,6 +113,39 @@ function is_html_template(node) { node.namespaceURI == "http://www.w3.org/1999/xhtml"; } +function create_element(name, maybe_namespace) { + // `For the HTML namespace, the namespace designator is the empty string, + // i.e. there's no prefix. For the SVG namespace, the namespace designator is + // "svg ". For the MathML namespace, the namespace designator is "math ". + if (maybe_namespace == "svg ") { + return document.createElementNS("http://www.w3.org/2000/svg", name); + } else if (maybe_namespace == "math ") { + return document.createElementNS("http://www.w3.org/1998/Math/MathML", name); + } else if (!maybe_namespace) { + return document.createElement(name); + } else { + assert_unreached(`Invalid element name: "${maybe_namespace}${name}"`); + } +} + +function set_attribute(node, name, maybe_namespace, value) { + // `The attribute name string is the local name prefixed by a namespace + // designator. For no namespace, the namespace designator is the empty string, + // i.e. there's no prefix. For the XLink namespace, the namespace designator + // is "xlink " [Likewise, "xml " and "xmlns ".] + if (maybe_namespace == "xlink ") { + node.setAttributeNS("http://www.w3.org/1999/xlink", name, value); + } else if (maybe_namespace == "xml ") { + node.setAttributeNS("http://www.w3.org/XML/1998/namespace", name, value); + } else if (maybe_namespace == "xmlns ") { + node.setAttributeNS("http://www.w3.org/2000/xmlns/", name, value); + } else if (!maybe_namespace) { + node.setAttribute(name, value); + } else { + assert_unreached(`Invalid attribute name: "${maybe_namespace}${name}"`); + } +} + function build_node_tree(root, docstr) { // Format described here: // https://github.com/html5lib/html5lib-tests/blob/master/tree-construction/README.md @@ -125,16 +158,16 @@ function build_node_tree(root, docstr) { for (const line of docstr.split("\n")) { const [_, indent, remainder] = line.match(/^\| ( *)(.*)/); const level = indent.length / 2; - if (match = remainder.match(/^<([a-z]*)>$/)) { + if (match = remainder.match(/^<([a-z]* )?([a-zA-Z_]*)>$/)) { // `Element nodes must be represented by a "<, the tag name string, ">".` - append_child_at(root, level, document.createElement(match[1])); + append_child_at(root, level, create_element(match[2], match[1])); } else if (match = remainder.match(/^"([^"]*)"$/)) { // `Text nodes must be the string, in double quotes.` append_child_at(root, level, document.createTextNode(match[1])); - } else if (match = remainder.match(/^(.*)="(.*)"$/)) { + } else if (match = remainder.match(/^([a-z]* )?(.*)="(.*)"$/)) { // `Attribute nodes must have the attribute name string, then an "=" sign, // then the attribute value in double quotes (").` - get_child_at(root, level).setAttribute(match[1], match[2]); + set_attribute(get_child_at(root, level), match[2], match[1], match[3]); } else if (match = remainder.match(/^<!--(.*)-->$/)) { // `Comments must be "<" then "!-- " then the data then " -->".` append_child_at(root, level, document.createComment(match[1])); diff --git a/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-quirks-mode.html b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-quirks-mode.html new file mode 100644 index 00000000000..fbf62692e22 --- /dev/null +++ b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-quirks-mode.html @@ -0,0 +1,50 @@ +<html> +<title>The scroll() timeline source in quirks mode</title> +<link rel="help" href="https://drafts.csswg.org/scroll-animations-1/#scroll-notation"> +<link rel="help" href="https://drafts.csswg.org/css-animations-2/#animation-timeline"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> + @keyframes move { + to { margin-left: 100px } + } + + .animated { + animation: move 1s linear; + } + + #default { + animation-timeline: scroll(); + } + + #root { + animation-timeline: scroll(root); + } + + #nearest { + animation-timeline: scroll(nearest); + } +</style> + +<div class="animated" id="default"></div> +<div class="animated" id="root"></div> +<div class="animated" id="nearest"></div> + +<script> +"use strict"; + +const timelineSourceTest = type => { + test(() => { + const target = document.getElementById(type); + const animations = target.getAnimations(); + assert_equals(animations.length, 1); + assert_equals(animations[0].timeline.source, document.body); + }, `CSS animation correctly uses the <body> element as the source for the ${type} scroll() timeline in quirks mode`); +}; + +timelineSourceTest("default"); +timelineSourceTest("root"); +timelineSourceTest("nearest"); + +</script> diff --git a/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-scrollable-body-quirks-mode.html b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-scrollable-body-quirks-mode.html new file mode 100644 index 00000000000..2e18c881208 --- /dev/null +++ b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-scrollable-body-quirks-mode.html @@ -0,0 +1,48 @@ +<html> +<title>The scroll() timeline source in quirks mode with a scrollable <body> in quirks mode</title> +<link rel="help" href="https://drafts.csswg.org/scroll-animations-1/#scroll-notation"> +<link rel="help" href="https://drafts.csswg.org/css-animations-2/#animation-timeline"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> + +@keyframes move { + to { margin-left: 100px } +} + +html { + height: 100px; + padding: 20px; +} + +body { + height: 110vh; + overflow: auto; + + animation: 1s move linear, 1s move linear, 1s move linear; + animation-timeline: scroll(self), scroll(nearest), scroll(root); +} + +body::after { + content: ""; + display: block; + height: 110%; +} +</style> +<body> +<script> +"use strict"; + +const timelineSourceTest = data => { + test(() => { + assert_equals(document.body.getAnimations()[data.index].timeline.source, document.body); + }, `CSS animation correctly uses the <body> element as the source for the ${data.keyword} scroll() timeline in quirks mode`); +}; + +timelineSourceTest({ index: 0, keyword: "self" }); +timelineSourceTest({ index: 1, keyword: "nearest" }); +timelineSourceTest({ index: 1, keyword: "root" }); + +</script> +</body> diff --git a/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-scrollable-body.html b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-scrollable-body.html new file mode 100644 index 00000000000..018189b2bd8 --- /dev/null +++ b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source-scrollable-body.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> +<title>The scroll() timeline source in quirks mode with a scrollable <body></title> +<link rel="help" href="https://drafts.csswg.org/scroll-animations-1/#scroll-notation"> +<link rel="help" href="https://drafts.csswg.org/css-animations-2/#animation-timeline"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> + +@keyframes move { + to { margin-left: 100px } +} + +html { + height: 100px; + padding: 20px; +} + +body { + height: 110vh; + overflow: auto; + + animation: 1s move linear, 1s move linear, 1s move linear; + animation-timeline: scroll(self), scroll(nearest), scroll(root); +} + +body::after { + content: ""; + display: block; + height: 110%; +} +</style> +<body> +<script> +"use strict"; + +const timelineSourceTest = data => { + test(() => { + assert_equals(document.body.getAnimations()[data.index].timeline.source, data.expectedSource); + }, `CSS animation correctly uses the <${data.expectedSource.localName}> element as the source for the ${data.keyword} scroll() timeline`); +}; + +timelineSourceTest({ index: 0, keyword: "self", expectedSource: document.body }); +timelineSourceTest({ index: 1, keyword: "nearest", expectedSource: document.documentElement }); +timelineSourceTest({ index: 1, keyword: "root", expectedSource: document.documentElement }); + +</script> +</body> diff --git a/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source.html b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source.html new file mode 100644 index 00000000000..5f652c717fe --- /dev/null +++ b/tests/wpt/tests/scroll-animations/css/scroll-timeline-anonymous-source.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> +<title>The scroll() timeline source</title> +<link rel="help" href="https://drafts.csswg.org/scroll-animations-1/#scroll-notation"> +<link rel="help" href="https://drafts.csswg.org/css-animations-2/#animation-timeline"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> + @keyframes move { + to { margin-left: 100px } + } + + .animated { + animation: move 1s linear; + } + + #default { + animation-timeline: scroll(); + } + + #root { + animation-timeline: scroll(root); + } + + #nearest { + animation-timeline: scroll(nearest); + } +</style> + +<div class="animated" id="default"></div> +<div class="animated" id="root"></div> +<div class="animated" id="nearest"></div> + +<script> +"use strict"; + +const timelineSourceTest = type => { + test(() => { + const target = document.getElementById(type); + const animations = target.getAnimations(); + assert_equals(animations.length, 1); + assert_equals(animations[0].timeline.source, document.documentElement); + }, `CSS animation correctly uses the <html> element as the source for the ${type} scroll() timeline`); +}; + +timelineSourceTest("default"); +timelineSourceTest("root"); +timelineSourceTest("nearest"); + +</script> diff --git a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html index 7af9bdba4c1..8a0fa17a8c5 100644 --- a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html +++ b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html @@ -31,6 +31,16 @@ let test_cases = [ description: 'Text directive with invalid syntax (context terms without "-") should not parse as a text directive' }, { + fragment: '#:~:text=foo-', + expect_position: 'top', + description: 'Text directive with invalid syntax (only prefix, no start text) should not parse as a text directive' + }, + { + fragment: '#:~:text=-foo', + expect_position: 'top', + description: 'Text directive with invalid syntax (only suffix, no start text) should not parse as a text directive' + }, + { fragment: '#element:~:directive', expect_position: 'element', description: 'Generic fragment directive with existing element fragment should scroll to element' diff --git a/tests/wpt/tests/selection/anchor-removal.html b/tests/wpt/tests/selection/anchor-removal.html new file mode 100644 index 00000000000..40675b1c6c9 --- /dev/null +++ b/tests/wpt/tests/selection/anchor-removal.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html> +<head> +<script src='/resources/testharness.js'></script> +<script src='/resources/testharnessreport.js'></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +</head> + +<body> +</body> + +<script> +async function select_range(t, anchorNode, focusNode) { + await new test_driver.Actions() + .pointerMove(0, 0, {origin: anchorNode}) + .pointerDown() + .pointerMove(focusNode.clientWidth, focusNode.clientHeight, {origin: focusNode}) + .pointerUp() + .send(); +} + +const kHTML = ` + <div id=parentDiv> + <span id=parentParagraph>Parent paragraph</span> + <div id=childDiv> + <span id=childParagraph1>Child paragraph one</span> + <span id=childParagraph2>Paragraph two</span> + </div> + </div> +`; + +// The two tests below are semantically identical, however after the selection +// is made but before `remove()`: +// - The first test does nothing +// - The second test runs asserts on `getSelection()` (before `remove()` is +// run). +// +// The existence of the `getSelection()` asserts before `remove()` appears to +// have a side-effect in Chromium browsers. See https://crbug.com/379275917. +promise_test(async t => { + document.body.innerHTML = kHTML; + getSelection().removeAllRanges(); + await select_range(t, parentParagraph, childParagraph1); + + parentParagraph.remove(); + assert_equals(getSelection().anchorNode, parentDiv, "anchorNode snaps up to parent"); +}, "anchorNode snaps up to parent when removed (no asserts)"); + +promise_test(async t => { + document.body.innerHTML = kHTML; + getSelection().removeAllRanges(); + await select_range(t, parentParagraph, childParagraph1); + + assert_equals(getSelection().anchorNode, parentParagraph.firstChild, "anchorNode before move"); + parentParagraph.remove(); + assert_equals(getSelection().anchorNode, parentDiv, "anchorNode snaps up to parent"); +}, "anchorNode snaps up to parent when removed (with asserts)"); +</script> diff --git a/tests/wpt/tests/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html b/tests/wpt/tests/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html index d89dcb2ce9d..194595aa4a7 100644 --- a/tests/wpt/tests/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html +++ b/tests/wpt/tests/selection/shadow-dom/tentative/Selection-getComposedRanges-dom-mutations-removal.html @@ -15,14 +15,16 @@ const mode = (new URLSearchParams(document.location.search)).get("mode"); test(() => { + const sel = getSelection(); + container.innerHTML = 'a<div id="host"></div>b'; const host = container.querySelector('#host'); const shadowRoot = host.attachShadow({ mode }); shadowRoot.innerHTML = 'hello, world'; - getSelection().setBaseAndExtent(shadowRoot.firstChild, 7, container, 2); - const rangeBefore = getSelection().getComposedRanges({ shadowRoots: [shadowRoot] })[0]; + sel.setBaseAndExtent(shadowRoot.firstChild, 7, container, 2); + const rangeBefore = sel.getComposedRanges({ shadowRoots: [shadowRoot] })[0]; host.remove(); - const rangeAfter = getSelection().getComposedRanges({ shadowRoots: [shadowRoot] })[0]; + const rangeAfter = sel.getComposedRanges({ shadowRoots: [shadowRoot] })[0]; assert_equals(rangeBefore.startContainer, shadowRoot.firstChild, 'StaticRange does not update on new mutation.'); assert_equals(rangeBefore.startOffset, 7); @@ -36,15 +38,17 @@ test(() => { }, 'Range is fully in shadow tree. Removing shadow host collapses composed StaticRange. Note it does not update previously returned composed StaticRange.'); test(() => { + const sel = getSelection(); + container.innerHTML = '<div id="wrapper">a<div id="host"></div>b</div>'; const wrapper = container.querySelector('#wrapper'); const host = container.querySelector('#host'); const shadowRoot = host.attachShadow({ mode }); shadowRoot.innerHTML = 'hello, world'; - getSelection().setBaseAndExtent(shadowRoot.firstChild, 4, shadowRoot.firstChild, 7); + sel.setBaseAndExtent(shadowRoot.firstChild, 4, shadowRoot.firstChild, 7); wrapper.remove(); - const rangeAfter = getSelection().getComposedRanges({ shadowRoots: [shadowRoot] })[0]; + const rangeAfter = sel.getComposedRanges({ shadowRoots: [shadowRoot] })[0]; assert_equals(rangeAfter.startContainer, container, 'collapsed to parent of removed node'); assert_equals(rangeAfter.startOffset, 0); assert_equals(rangeAfter.endContainer, container); @@ -52,10 +56,12 @@ test(() => { }, 'Range is fully in shadow tree. Removing parent of shadow host collapses composed StaticRange.'); test(() => { + const sel = getSelection(); + container.innerHTML = '<div id="hello">Hello,</div><div id="world"> World</div>'; - getSelection().setBaseAndExtent(hello.firstChild, 1, world.firstChild, 3); + sel.setBaseAndExtent(hello.firstChild, 1, world.firstChild, 3); hello.firstChild.remove(); - const rangeAfter = getSelection().getComposedRanges()[0]; + const rangeAfter = sel.getComposedRanges()[0]; assert_equals(rangeAfter.startContainer, hello); assert_equals(rangeAfter.startOffset, 0); @@ -64,13 +70,15 @@ test(() => { }, 'Range is in light DOM. Removing startContainer rescopes new composed range to its parent.'); test(() => { - container.innerHTML = 'a<div id="host"></div>b'; + const sel = getSelection(); + + container.innerHTML = 'a<div id="host"></div>b'; const host = container.querySelector('#host'); const shadowRoot = host.attachShadow({ mode }); shadowRoot.innerHTML = 'hello, world'; - getSelection().setBaseAndExtent(shadowRoot.firstChild, 7, container, 2); + sel.setBaseAndExtent(shadowRoot.firstChild, 7, container, 2); shadowRoot.innerHTML = ''; - const rangeAfter = getSelection().getComposedRanges({ shadowRoots: [shadowRoot] })[0]; + const rangeAfter = sel.getComposedRanges({ shadowRoots: [shadowRoot] })[0]; assert_equals(rangeAfter.startContainer, shadowRoot, 'collapsed to be at the parent shadow root'); assert_equals(rangeAfter.startOffset, 0); @@ -79,6 +87,26 @@ test(() => { }, 'Range is across shadow trees. Replacing shadowRoot content rescopes new composed range to the shadowRoot.'); test(() => { + const sel = getSelection(); + + container.innerHTML = 'a<div id="outerhost"></div>b'; + const outerHost = container.querySelector('#outerhost'); + const outerRoot = outerHost.attachShadow({ mode }); + outerRoot.innerHTML = 'c<div id="innerHost"></div>d'; + const innerHost = outerRoot.querySelector('#innerHost'); + const innerRoot = innerHost.attachShadow({ mode }); + innerRoot.innerHTML = 'hello, world'; + sel.setBaseAndExtent(container.firstChild, 0, innerRoot.firstChild, 4); + outerHost.remove(); + const rangeAfter = sel.getComposedRanges({ shadowRoots: [innerRoot, outerRoot] })[0]; + + assert_equals(rangeAfter.startContainer, container.firstChild); + assert_equals(rangeAfter.startOffset, 0); + assert_equals(rangeAfter.endContainer, container); + assert_equals(rangeAfter.endOffset, 1); +}, 'Range is across shadow trees. Removing ancestor shadow host rescopes composed range end to parent.'); + +test(() => { container.innerHTML = [ '<div id=host>', '<div id=div1 slot=slot2>slotted content 1</div>', @@ -98,7 +126,7 @@ test(() => { sel.setBaseAndExtent(div1.firstChild, 2, div2.firstChild, 2); div1.remove(); - const rangeAfter = getSelection().getComposedRanges({ shadowRoots: [shadowRoot] })[0]; + const rangeAfter = sel.getComposedRanges({ shadowRoots: [shadowRoot] })[0]; assert_equals(rangeAfter.startContainer, host); assert_equals(rangeAfter.startOffset, 0); assert_equals(rangeAfter.endContainer, div2.firstChild); diff --git a/tests/wpt/tests/shadow-dom/focus/click-focus-slot-ancestor.html b/tests/wpt/tests/shadow-dom/focus/click-focus-slot-ancestor.html new file mode 100644 index 00000000000..724b5644dcb --- /dev/null +++ b/tests/wpt/tests/shadow-dom/focus/click-focus-slot-ancestor.html @@ -0,0 +1,73 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<link rel="help" href="crbug.com/41420461"> + + <div id='normalDiv' tabindex='0'><span id='normalSpan'>Text to click and select</span></div> + <div id='container'><span id='slottedSpan'>Slotted text to click and select</span></div> + +<script> + +function clickOn(element) { + const actions = new test_driver.Actions(); + actions.pointerMove(5, 5, {origin: element}); + actions.pointerDown(); + actions.pointerUp(); + return actions.send(); +} + +function selectText(element) { + getSelection().empty(); + const actions = new test_driver.Actions(); + actions.pointerMove(0, 0, {origin: element}); + actions.pointerDown(); + actions.pointerMove(50, 0, {origin: element}); + actions.pointerUp(); + return actions.send(); +} + +let sr = container.attachShadow({ mode: 'open' }); +sr.innerHTML = '<div id="shadowDiv" tabindex="0"><slot></slot></div>'; + +promise_test(async () => { + await clickOn(normalSpan); + assert_equals(document.activeElement, normalDiv); + + await clickOn(slottedSpan); + assert_equals(document.activeElement, container); + assert_equals(sr.activeElement, sr.getElementById('shadowDiv')); +}, 'Clicking on non-focusable slot inside focusable div will make the flat-tree focusable ancestor get focused'); + +promise_test(async () => { + let selection = getSelection(); + + await selectText(normalSpan); + assert_equals(document.activeElement, normalDiv); + assert_equals(selection.anchorNode, normalSpan.firstChild); + assert_greater_than(selection.toString().length, 0); + + await selectText(slottedSpan); + assert_equals(document.activeElement, container); + assert_equals(sr.activeElement, sr.getElementById('shadowDiv')); + assert_equals(selection.anchorNode, slottedSpan.firstChild); + assert_greater_than(selection.toString().length, 0); +}, 'Select on non-focusable slot inside focusable div will select text'); + +promise_test(async () => { + let selection = getSelection(); + // Reset selection + await clickOn(normalSpan); + + container.setAttribute('contenteditable', true); + await selectText(slottedSpan); + assert_equals(document.activeElement, container); + assert_equals(sr.activeElement, null, 'focus is on contenteditable container only'); + assert_equals(selection.anchorNode, slottedSpan.firstChild); + assert_greater_than(selection.toString().length, 0); + container.removeAttribute('contenteditable'); +}, 'Select on non-focusable non-editable slot in a contenteditable shadow DOM and inside focusable div will select text'); + +</script>
\ No newline at end of file diff --git a/tests/wpt/tests/shadow-dom/reference-target/tentative/property-reflection.html b/tests/wpt/tests/shadow-dom/reference-target/tentative/property-reflection.html index c6ecbf84537..2f1bf01a864 100644 --- a/tests/wpt/tests/shadow-dom/reference-target/tentative/property-reflection.html +++ b/tests/wpt/tests/shadow-dom/reference-target/tentative/property-reflection.html @@ -91,7 +91,7 @@ test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "aria-details", "ariaDetailsElements", Behavior.ReflectsHostInArray); test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "aria-errormessage", "ariaErrorMessageElements", Behavior.ReflectsHostInArray); test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "aria-flowto", "ariaFlowToElements", Behavior.ReflectsHostInArray); - test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "aria-labeledby", "ariaLabelledByElements", Behavior.ReflectsHostInArray); + test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "aria-labelledby", "ariaLabelledByElements", Behavior.ReflectsHostInArray); test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "aria-owns", "ariaOwnsElements", Behavior.ReflectsHostInArray); test_property_reflection(element_creation_method, referencing_element_type, referenced_element_type, "anchor", "anchorElement", Behavior.ReflectsHost); diff --git a/tests/wpt/tests/speculation-rules/prefetch/resources/basic-service-worker.js b/tests/wpt/tests/speculation-rules/prefetch/resources/basic-service-worker.js new file mode 100644 index 00000000000..07beb37d660 --- /dev/null +++ b/tests/wpt/tests/speculation-rules/prefetch/resources/basic-service-worker.js @@ -0,0 +1,11 @@ +const swOption = new URL(location.href).searchParams.get('sw'); + +if (swOption !== 'no-fetch-handler') { + self.addEventListener('fetch', event => { + if (swOption === 'fetch-handler') { + event.respondWith(fetch(event.request)); + } else { + // Do nothing to fallback to the network. + } + }); +} diff --git a/tests/wpt/tests/speculation-rules/prefetch/resources/counting-executor.py b/tests/wpt/tests/speculation-rules/prefetch/resources/counting-executor.py new file mode 100644 index 00000000000..cbcbc8eccb9 --- /dev/null +++ b/tests/wpt/tests/speculation-rules/prefetch/resources/counting-executor.py @@ -0,0 +1,26 @@ +import json +import os.path +from wptserve.pipes import template + +def main(request, response): + response.headers.set(b"Content-Type", b"text/html") + response.headers.set(b"Cache-Control", b"no-store") + + uuid = request.GET[b"uuid"] + request_count = request.server.stash.take(uuid) + if request_count is None: + request_count = {"prefetch": 0, "nonPrefetch": 0} + + if b"check" in request.GET: + response.content = json.dumps(request_count) + return + + prefetch = request.headers.get( + "Sec-Purpose", b"").decode("utf-8").startswith("prefetch") + + request_count["prefetch" if prefetch else "nonPrefetch"] += 1 + request.server.stash.put(uuid, request_count) + + response.content = template( + request, + open(os.path.join(os.path.dirname(__file__), "executor.sub.html"), "rb").read()) diff --git a/tests/wpt/tests/speculation-rules/prefetch/tentative/service-worker/README.md b/tests/wpt/tests/speculation-rules/prefetch/tentative/service-worker/README.md new file mode 100644 index 00000000000..6f20cf57def --- /dev/null +++ b/tests/wpt/tests/speculation-rules/prefetch/tentative/service-worker/README.md @@ -0,0 +1,7 @@ +This directory contains tests for ServiceWorker + speculation rules prefetch +integration. +The details are still to be spec'ed, and the tests so far reflects the current +expectations of the ongoing Chromium's implementation. + +- https://wicg.github.io/nav-speculation/prefetch.html#issue-1ea0021d +- https://crbug.com/40947546 diff --git a/tests/wpt/tests/speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html b/tests/wpt/tests/speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html new file mode 100644 index 00000000000..9420088ff29 --- /dev/null +++ b/tests/wpt/tests/speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<meta name="timeout" content="long"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/utils.js"></script> +<script src="/common/dispatcher/dispatcher.js"></script> +<script src="../../../resources/utils.js"></script> +<script src="../../resources/utils.sub.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> + +<meta name="variant" content="?origin=same-site&sw=fetch-handler"> +<meta name="variant" content="?origin=same-site&sw=fetch-handler-to-fallback"> +<meta name="variant" content="?origin=same-site&sw=no-fetch-handler"> +<meta name="variant" content="?origin=same-site&sw=no-controller"> + +<meta name="variant" content="?origin=cross-site&sw=fetch-handler"> +<meta name="variant" content="?origin=cross-site&sw=fetch-handler-to-fallback"> +<meta name="variant" content="?origin=cross-site&sw=no-fetch-handler"> +<meta name="variant" content="?origin=cross-site&sw=no-controller"> + +<script> +setup(() => assertSpeculationRulesIsSupported()); + +const originOption = new URL(location.href).searchParams.get('origin'); +const swOption = new URL(location.href).searchParams.get('sw'); + +promise_test(async t => { + // Current Chromium's expected behavior: prefetch only works when there + // are no controlling service worker. + const expectsPrefetch = swOption === 'no-controller'; + + const hostname = originOption === 'cross-site' ? '{{hosts[alt][www]}}' + : undefined; + const win = await spawnWindow(t, { protocol: 'https', hostname: hostname }); + const nextUrl = win.getExecutorURL({ executor: 'counting-executor.py', protocol: 'https', page: 2 }); + + const swUrl = '../../resources/basic-service-worker.js?sw=' + swOption; + + // Register a SW not controlling any pages below, just to confirm such + // unrelated SWs in the same-origin doesn't affect the behavior. + const reg_unrelated = await service_worker_unregister_and_register( + t, swUrl, nextUrl + '&unrelated'); + await wait_for_state(t, reg_unrelated.installing, 'activated'); + + // Register a SW for `nextUrl`. + let sw; + if (swOption !== 'no-controller') { + const reg = await service_worker_unregister_and_register( + t, swUrl, nextUrl); + await wait_for_state(t, reg.installing, 'activated'); + sw = reg.installing; + } + + // Start speculation rules prefetch and navigate to the URL. + await win.forceSinglePrefetch(nextUrl); + + await win.navigate(nextUrl); + + const requestCount = await (await fetch(nextUrl + '&check')).json(); + + const headers = await win.execute_script(() => { + return requestHeaders; + }, []); + + if (expectsPrefetch) { + assert_prefetched(headers, "Prefetched result should be served."); + assert_equals(requestCount.prefetch, 1, + 'a prefetch request should be sent to the server.'); + assert_equals(requestCount.nonPrefetch, 0, + 'non-prefetch requests should not be sent to the server.'); + assert_prefetched(headers, "Prefetched result should be served."); + } else { + assert_not_prefetched(headers, "Prefetched result should not be served."); + assert_equals(requestCount.nonPrefetch, 1, + 'a non-prefetch request should be sent to the server.'); + assert_equals(requestCount.prefetch, 0, + 'prefetch requests should not be sent to the server.'); + } +}, "Prefetch with ServiceWorker (" + swOption + ")"); +</script> diff --git a/tests/wpt/tests/streams/idlharness-shadowrealm.window.js b/tests/wpt/tests/streams/idlharness-shadowrealm.window.js index 099b2475ca7..9ec65f7bdf8 100644 --- a/tests/wpt/tests/streams/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/streams/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["streams"], ["dom"]); diff --git a/tests/wpt/tests/svg/painting/scripted/SVGMarkerElement-orientType-synchronization.html b/tests/wpt/tests/svg/painting/scripted/SVGMarkerElement-orientType-synchronization.html new file mode 100644 index 00000000000..04142128310 --- /dev/null +++ b/tests/wpt/tests/svg/painting/scripted/SVGMarkerElement-orientType-synchronization.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<title>SVGMarkerElement.orientType synchronization</title> +<link rel="help" href="https://svgwg.org/svg2-draft/painting.html#InterfaceSVGMarkerElement"> +<link rel="help" href="https://svgwg.org/svg2-draft/types.html#InterfaceSVGAngle"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +test(function() { + const marker = document.createElementNS('http://www.w3.org/2000/svg', 'marker'); + assert_equals(marker.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE, 'initial'); + + marker.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO; + assert_equals(marker.getAttribute('orient'), 'auto'); + assert_equals(marker.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_AUTO, `to 'auto'`); +}, `${document.title}, setting orientType to 'auto'`); + +test(function() { + const marker = document.createElementNS('http://www.w3.org/2000/svg', 'marker'); + assert_false(marker.hasAttribute('orient')); + + marker.setOrientToAuto(); + assert_equals(marker.getAttribute('orient'), 'auto'); + + marker.orientAngle.baseVal.valueInSpecifiedUnits = 1; + assert_true(marker.hasAttribute('orient')); + assert_equals(marker.getAttribute('orient'), '1'); + assert_equals(marker.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE); +}, `${document.title}, setting orientAngle using valueInSpecifiedUnits`); +</script> diff --git a/tests/wpt/tests/tools/manifest/sourcefile.py b/tests/wpt/tests/tools/manifest/sourcefile.py index 3563fb9e5e9..02ab1ad4fe6 100644 --- a/tests/wpt/tests/tools/manifest/sourcefile.py +++ b/tests/wpt/tests/tools/manifest/sourcefile.py @@ -85,7 +85,26 @@ _any_variants: Dict[Text, VariantData] = { "dedicatedworker-module": {"suffix": ".any.worker-module.html"}, "worker": {"longhand": {"dedicatedworker", "sharedworker", "serviceworker"}}, "worker-module": {}, - "shadowrealm": {}, + "shadowrealm-in-window": {}, + "shadowrealm-in-shadowrealm": {}, + "shadowrealm-in-dedicatedworker": {}, + "shadowrealm-in-sharedworker": {}, + "shadowrealm-in-serviceworker": { + "force_https": True, + "suffix": ".https.any.shadowrealm-in-serviceworker.html", + }, + "shadowrealm-in-audioworklet": { + "force_https": True, + "suffix": ".https.any.shadowrealm-in-audioworklet.html", + }, + "shadowrealm": {"longhand": { + "shadowrealm-in-window", + "shadowrealm-in-shadowrealm", + "shadowrealm-in-dedicatedworker", + "shadowrealm-in-sharedworker", + "shadowrealm-in-serviceworker", + "shadowrealm-in-audioworklet", + }}, "jsshell": {"suffix": ".any.js"}, } diff --git a/tests/wpt/tests/tools/serve/serve.py b/tests/wpt/tests/tools/serve/serve.py index 6ad06cafbd1..9d1283ff3e8 100644 --- a/tests/wpt/tests/tools/serve/serve.py +++ b/tests/wpt/tests/tools/serve/serve.py @@ -425,44 +425,30 @@ class ServiceWorkerModulesHandler(HtmlWrapperHandler): </script> """ -class ShadowRealmHandler(HtmlWrapperHandler): - global_type = "shadowrealm" - path_replace = [(".any.shadowrealm.html", ".any.js")] + +class ShadowRealmInWindowHandler(HtmlWrapperHandler): + global_type = "shadowrealm-in-window" + path_replace = [(".any.shadowrealm-in-window.html", ".any.js")] wrapper = """<!doctype html> <meta charset=utf-8> %(meta)s <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="/resources/testharness-shadowrealm-outer.js"></script> <script> (async function() { const r = new ShadowRealm(); - r.evaluate("globalThis.self = globalThis; undefined;"); - r.evaluate(`func => { - globalThis.fetch_json = (resource) => { - const thenMethod = func(resource); - return new Promise((resolve, reject) => thenMethod((s) => resolve(JSON.parse(s)), reject)); - }; - }`)((resource) => function (resolve, reject) { - fetch(resource).then(res => res.text(), String).then(resolve, reject); - }); - r.evaluate(`s => { - globalThis.location = { search: s }; - }`)(location.search); - await new Promise(r.evaluate(` - (resolve, reject) => { - (async () => { - globalThis.self.GLOBAL = { - isWindow: function() { return false; }, - isWorker: function() { return false; }, - isShadowRealm: function() { return true; }, - }; - await import("/resources/testharness.js"); - %(script)s - await import("%(path)s"); - })().then(resolve, (e) => reject(e.toString())); - } - `)); + await shadowRealmEvalAsync(r, ` + await import("/resources/testharness-shadowrealm-inner.js"); + await import("/resources/testharness.js"); + `); + r.evaluate("setShadowRealmGlobalProperties")(location.search, fetchAdaptor); + + await shadowRealmEvalAsync(r, ` + %(script)s + await import("%(path)s"); + `); await fetch_tests_from_shadow_realm(r); done(); @@ -476,6 +462,106 @@ class ShadowRealmHandler(HtmlWrapperHandler): return None +class ShadowRealmInShadowRealmHandler(HtmlWrapperHandler): + global_type = "shadowrealm-in-shadowrealm" + path_replace = [(".any.shadowrealm-in-shadowrealm.html", ".any.js")] + + wrapper = """<!doctype html> +<meta charset=utf-8> +%(meta)s +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testharness-shadowrealm-outer.js"></script> +<script> +(async function() { + const outer = new ShadowRealm(); + outer.evaluate(` + var inner = new ShadowRealm(); + `); + await shadowRealmEvalAsync(outer, ` + await import("/resources/testharness-shadowrealm-outer.js"); + await shadowRealmEvalAsync(inner, \\` + await import("/resources/testharness-shadowrealm-inner.js"); + await import("/resources/testharness.js"); + \\`); + `); + + outer.evaluate(` + inner.evaluate("setShadowRealmGlobalProperties") + `)(location.search, fetchAdaptor); + + await shadowRealmEvalAsync(outer, ` + await shadowRealmEvalAsync(inner, \\` + %(script)s + await import("%(path)s"); + \\`); + `); + + outer.evaluate(` + function begin_shadow_realm_tests(windowCallback) { + inner.evaluate("begin_shadow_realm_tests")(windowCallback); + } + `); + await fetch_tests_from_shadow_realm(outer); + done(); +})(); +</script> +""" + + def _script_replacement(self, key, value): + if key == "script": + return 'await import("%s");' % value + return None + + +class ShadowRealmInDedicatedWorkerHandler(WorkersHandler): + global_type = "shadowrealm-in-dedicatedworker" + path_replace = [(".any.shadowrealm-in-dedicatedworker.html", + ".any.js", + ".any.worker-shadowrealm.js")] + + +class ShadowRealmInSharedWorkerHandler(SharedWorkersHandler): + global_type = "shadowrealm-in-sharedworker" + path_replace = [(".any.shadowrealm-in-sharedworker.html", + ".any.js", + ".any.worker-shadowrealm.js")] + + +class ShadowRealmInServiceWorkerHandler(ServiceWorkersHandler): + global_type = "shadowrealm-in-serviceworker" + path_replace = [(".https.any.shadowrealm-in-serviceworker.html", + ".any.js", + ".any.serviceworker-shadowrealm.js")] + + +class ShadowRealmInAudioWorkletHandler(HtmlWrapperHandler): + global_type = "shadowrealm-in-audioworklet" + path_replace = [(".https.any.shadowrealm-in-audioworklet.html", ".any.js", + ".any.audioworklet-shadowrealm.js")] + + wrapper = """<!doctype html> +<meta charset=utf-8> +%(meta)s +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testharness-shadowrealm-outer.js"></script> +<script> +(async function() { + const context = new AudioContext(); + await context.audioWorklet.addModule( + "/resources/testharness-shadowrealm-outer.js"); + await context.audioWorklet.addModule( + "/resources/testharness-shadowrealm-audioworkletprocessor.js"); + await context.audioWorklet.addModule("%(path)s%(query)s"); + const node = new AudioWorkletNode(context, "test-runner"); + setupFakeFetchOverMessagePort(node.port); + fetch_tests_from_worker(node.port); +})(); +</script> +""" + + class BaseWorkerHandler(WrapperHandler): headers = [('Content-Type', 'text/javascript')] @@ -534,6 +620,98 @@ done(); return 'import "%s";' % attribute +class ShadowRealmWorkerWrapperHandler(BaseWorkerHandler): + path_replace = [(".any.worker-shadowrealm.js", ".any.js")] + wrapper = """%(meta)s +importScripts("/resources/testharness-shadowrealm-outer.js"); +(async function() { + const r = new ShadowRealm(); + await shadowRealmEvalAsync(r, ` + await import("/resources/testharness-shadowrealm-inner.js"); + await import("/resources/testharness.js"); + `); + r.evaluate("setShadowRealmGlobalProperties")("%(query)s", fetchAdaptor); + + await shadowRealmEvalAsync(r, ` + %(script)s + await import("%(path)s"); + `); + + const postMessageFunc = await getPostMessageFunc(); + function forwardMessage(msgJSON) { + postMessageFunc(JSON.parse(msgJSON)); + } + r.evaluate('begin_shadow_realm_tests')(forwardMessage); +})(); +""" + + def _create_script_import(self, attribute): + return 'await import("%s");' % attribute + + +class ShadowRealmServiceWorkerWrapperHandler(BaseWorkerHandler): + path_replace = [(".any.serviceworker-shadowrealm.js", ".any.js")] + wrapper = """%(meta)s +importScripts("/resources/testharness-shadowrealm-outer.js"); + +(async function () { + const r = new ShadowRealm(); + setupFakeDynamicImportInShadowRealm(r, fetchAdaptor); + + await shadowRealmEvalAsync(r, ` + await fakeDynamicImport("/resources/testharness-shadowrealm-inner.js"); + await fakeDynamicImport("/resources/testharness.js"); + `); + r.evaluate("setShadowRealmGlobalProperties")("%(query)s", fetchAdaptor); + + await shadowRealmEvalAsync(r, ` + %(script)s + await fakeDynamicImport("%(path)s"); + `); + + const postMessageFunc = await getPostMessageFunc(); + function forwardMessage(msgJSON) { + postMessageFunc(JSON.parse(msgJSON)); + } + r.evaluate("begin_shadow_realm_tests")(forwardMessage); +})(); +""" + + def _create_script_import(self, attribute): + return 'await fakeDynamicImport("%s");' % attribute + + +class ShadowRealmAudioWorkletWrapperHandler(BaseWorkerHandler): + path_replace = [(".any.audioworklet-shadowrealm.js", ".any.js")] + wrapper = """%(meta)s +TestRunner.prototype.createShadowRealmAndStartTests = async function() { + const queryPart = import.meta.url.split('?')[1]; + const locationSearch = queryPart ? '?' + queryPart : ''; + + const r = new ShadowRealm(); + const adaptor = this.fetchOverPortExecutor.bind(this); + setupFakeDynamicImportInShadowRealm(r, adaptor); + + await shadowRealmEvalAsync(r, ` + await fakeDynamicImport("/resources/testharness-shadowrealm-inner.js"); + await fakeDynamicImport("/resources/testharness.js"); + `); + r.evaluate("setShadowRealmGlobalProperties")(locationSearch, adaptor); + + await shadowRealmEvalAsync(r, ` + %(script)s + await fakeDynamicImport("%(path)s"); + `); + const forwardMessage = (msgJSON) => + this.port.postMessage(JSON.parse(msgJSON)); + r.evaluate("begin_shadow_realm_tests")(forwardMessage); +} +""" + + def _create_script_import(self, attribute): + return 'await fakeDynamicImport("%s");' % attribute + + rewrites = [("GET", "/resources/WebIDLParser.js", "/resources/webidl2/lib/webidl2.js")] @@ -590,10 +768,18 @@ class RoutesBuilder: ("GET", "*.any.sharedworker-module.html", SharedWorkerModulesHandler), ("GET", "*.any.serviceworker.html", ServiceWorkersHandler), ("GET", "*.any.serviceworker-module.html", ServiceWorkerModulesHandler), - ("GET", "*.any.shadowrealm.html", ShadowRealmHandler), + ("GET", "*.any.shadowrealm-in-window.html", ShadowRealmInWindowHandler), + ("GET", "*.any.shadowrealm-in-shadowrealm.html", ShadowRealmInShadowRealmHandler), + ("GET", "*.any.shadowrealm-in-dedicatedworker.html", ShadowRealmInDedicatedWorkerHandler), + ("GET", "*.any.shadowrealm-in-sharedworker.html", ShadowRealmInSharedWorkerHandler), + ("GET", "*.any.shadowrealm-in-serviceworker.html", ShadowRealmInServiceWorkerHandler), + ("GET", "*.any.shadowrealm-in-audioworklet.html", ShadowRealmInAudioWorkletHandler), ("GET", "*.any.window-module.html", WindowModulesHandler), ("GET", "*.any.worker.js", ClassicWorkerHandler), ("GET", "*.any.worker-module.js", ModuleWorkerHandler), + ("GET", "*.any.serviceworker-shadowrealm.js", ShadowRealmServiceWorkerWrapperHandler), + ("GET", "*.any.worker-shadowrealm.js", ShadowRealmWorkerWrapperHandler), + ("GET", "*.any.audioworklet-shadowrealm.js", ShadowRealmAudioWorkletWrapperHandler), ("GET", "*.asis", handlers.AsIsHandler), ("*", "/.well-known/attribution-reporting/report-event-attribution", handlers.PythonScriptHandler), ("*", "/.well-known/attribution-reporting/debug/report-event-attribution", handlers.PythonScriptHandler), diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py index b39b8deb76c..73b3b5344b8 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py @@ -67,13 +67,10 @@ def browser_kwargs(logger, test_type, run_info_data, config, **kwargs): def executor_kwargs(logger, test_type, test_environment, run_info_data, subsuite, **kwargs): - sanitizer_enabled = kwargs.get("sanitizer_enabled") - if sanitizer_enabled: - test_type = "crashtest" executor_kwargs = base_executor_kwargs(test_type, test_environment, run_info_data, subsuite, **kwargs) executor_kwargs["close_after_done"] = True - executor_kwargs["sanitizer_enabled"] = sanitizer_enabled + executor_kwargs["sanitizer_enabled"] = kwargs.get("sanitizer_enabled", False) executor_kwargs["reuse_window"] = kwargs.get("reuse_window", False) capabilities = { diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py index e55036ecc48..694ea03d2fa 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -121,9 +121,7 @@ def browser_kwargs(logger, test_type, run_info_data, config, subsuite, **kwargs) "disable_fission": kwargs["disable_fission"], "stackfix_dir": kwargs["stackfix_dir"], "binary_args": kwargs["binary_args"].copy(), - "timeout_multiplier": get_timeout_multiplier(test_type, - run_info_data, - **kwargs), + "timeout_multiplier": get_timeout_multiplier(test_type, run_info_data, **kwargs), "leak_check": run_info_data["debug"] and (kwargs["leak_check"] is not False), "asan": run_info_data.get("asan"), "chaos_mode_flags": kwargs["chaos_mode_flags"], @@ -133,6 +131,7 @@ def browser_kwargs(logger, test_type, run_info_data, config, subsuite, **kwargs) "preload_browser": kwargs["preload_browser"] and not kwargs["pause_after_test"] and not kwargs["num_test_groups"] == 1, "specialpowers_path": kwargs["specialpowers_path"], "allow_list_paths": kwargs["allow_list_paths"], + "gmp_path": kwargs["gmp_path"] if "gmp_path" in kwargs else None, "debug_test": kwargs["debug_test"]} if test_type == "wdspec" and kwargs["binary"]: browser_kwargs["webdriver_args"].extend(["--binary", kwargs["binary"]]) @@ -252,6 +251,8 @@ def update_properties(): "swgl", "asan", "tsan", + "remoteAsyncEvents", + "sessionHistoryInParent", "subsuite"], { "os": ["version"], "processor": ["bits"]}) @@ -272,7 +273,7 @@ def log_gecko_crashes(logger, process, test, profile_dir, symbols_path, stackwal return False -def get_environ(logger, binary, debug_info, headless, chaos_mode_flags=None, e10s=True): +def get_environ(logger, binary, debug_info, headless, gmp_path, chaos_mode_flags=None, e10s=True): # Hack: test_environment expects a bin_suffix key in mozinfo that in gecko infrastructure # is set in the build system. Set it manually here. if "bin_suffix" not in mozinfo.info: @@ -288,6 +289,8 @@ def get_environ(logger, binary, debug_info, headless, chaos_mode_flags=None, e10 log=logger).items() if value is not None} + if gmp_path is not None: + env["MOZ_GMP_PATH"] = gmp_path # Disable window occlusion. Bug 1733955 env["MOZ_WINDOW_OCCLUSION"] = "0" if chaos_mode_flags is not None: @@ -319,7 +322,7 @@ class FirefoxInstanceManager: def __init__(self, logger, binary, binary_args, profile_creator, debug_info, chaos_mode_flags, headless, - leak_check, stackfix_dir, symbols_path, asan, e10s): + leak_check, stackfix_dir, symbols_path, gmp_path, asan, e10s): """Object that manages starting and stopping instances of Firefox.""" self.logger = logger self.binary = binary @@ -331,6 +334,7 @@ class FirefoxInstanceManager: self.leak_check = leak_check self.stackfix_dir = stackfix_dir self.symbols_path = symbols_path + self.gmp_path = gmp_path self.asan = asan self.e10s = e10s @@ -369,7 +373,8 @@ class FirefoxInstanceManager: profile.set_preferences({"marionette.port": marionette_port}) env = get_environ(self.logger, self.binary, self.debug_info, - self.headless, self.chaos_mode_flags, self.e10s) + self.headless, self.gmp_path, self.chaos_mode_flags, + self.e10s) args = self.binary_args[:] if self.binary_args else [] args += [cmd_arg("marionette"), "about:blank"] @@ -806,7 +811,8 @@ class FirefoxBrowser(Browser): stackfix_dir=None, binary_args=None, timeout_multiplier=None, leak_check=False, asan=False, chaos_mode_flags=None, config=None, browser_channel="nightly", headless=None, preload_browser=False, - specialpowers_path=None, debug_test=False, allow_list_paths=None, **kwargs): + specialpowers_path=None, debug_test=False, allow_list_paths=None, + gmp_path=None, **kwargs): Browser.__init__(self, logger) self.logger = logger @@ -854,6 +860,7 @@ class FirefoxBrowser(Browser): leak_check, stackfix_dir, symbols_path, + gmp_path, asan, e10s) @@ -911,7 +918,7 @@ class FirefoxWdSpecBrowser(WebDriverBrowser): disable_fission=False, stackfix_dir=None, leak_check=False, asan=False, chaos_mode_flags=None, config=None, browser_channel="nightly", headless=None, debug_test=False, profile_creator_cls=ProfileCreator, - allow_list_paths=None, **kwargs): + allow_list_paths=None, gmp_path=None, **kwargs): super().__init__(logger, binary, webdriver_binary, webdriver_args) self.binary = binary @@ -926,7 +933,7 @@ class FirefoxWdSpecBrowser(WebDriverBrowser): self.leak_check = leak_check self.leak_report_file = None - self.env = self.get_env(binary, debug_info, headless, chaos_mode_flags, e10s) + self.env = self.get_env(binary, debug_info, headless, gmp_path, chaos_mode_flags, e10s) profile_creator = profile_creator_cls(logger, prefs_root, @@ -945,11 +952,12 @@ class FirefoxWdSpecBrowser(WebDriverBrowser): self.profile = profile_creator.create() self.marionette_port = None - def get_env(self, binary, debug_info, headless, chaos_mode_flags, e10s): + def get_env(self, binary, debug_info, headless, gmp_path, chaos_mode_flags, e10s): env = get_environ(self.logger, binary, debug_info, headless, + gmp_path, chaos_mode_flags, e10s) env["RUST_BACKTRACE"] = "1" return env diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox_android.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox_android.py index 9c9482d0bac..872217b08fb 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox_android.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox_android.py @@ -409,7 +409,7 @@ class FirefoxAndroidWdSpecBrowser(FirefoxWdSpecBrowser): self.logger.warning("Failed to remove forwarded or reversed ports: %s" % e) super().stop(force=force) - def get_env(self, binary, debug_info, headless, chaos_mode_flags, e10s): + def get_env(self, binary, debug_info, headless, gmp_path, chaos_mode_flags, e10s): env = get_environ(chaos_mode_flags) env["RUST_BACKTRACE"] = "1" return env diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorchrome.py b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorchrome.py index fa593ce4023..e92d45094d1 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorchrome.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorchrome.py @@ -6,14 +6,10 @@ import os import re import time import uuid -from typing import Mapping, MutableMapping, Type +from typing import Mapping, MutableMapping from webdriver import error -from .base import ( - CrashtestExecutor, - TestharnessExecutor, -) from .executorwebdriver import ( WebDriverBaseProtocolPart, WebDriverCrashtestExecutor, @@ -29,41 +25,6 @@ from .protocol import LeakProtocolPart, ProtocolPart here = os.path.dirname(__file__) -def make_sanitizer_mixin(crashtest_executor_cls: Type[CrashtestExecutor]): # type: ignore[no-untyped-def] - class SanitizerMixin: - def __new__(cls, logger, browser, **kwargs): - # Overriding `__new__` is the least worst way we can force tests to run - # as crashtests at runtime while still supporting: - # * Class attributes (e.g., `extra_timeout`) - # * Pickleability for `multiprocessing` transport - # * The `__wptrunner__` product interface - # - # These requirements rule out approaches with `functools.partial(...)` - # or global variables. - if kwargs.get("sanitizer_enabled"): - executor = crashtest_executor_cls(logger, browser, **kwargs) - - def convert_from_crashtest_result(test, result): - if issubclass(cls, TestharnessExecutor): - status = result["status"] - if status == "PASS": - status = "OK" - harness_result = test.make_result(status, result["message"]) - # Don't report subtests. - return harness_result, [] - # `crashtest` statuses are a subset of `(print-)reftest` - # ones, so no extra conversion necessary. - return cls.convert_result(executor, test, result) - - executor.convert_result = convert_from_crashtest_result - return executor - return super().__new__(cls) - return SanitizerMixin - - -_SanitizerMixin = make_sanitizer_mixin(WebDriverCrashtestExecutor) - - class ChromeDriverBaseProtocolPart(WebDriverBaseProtocolPart): def create_window(self, type="tab", **kwargs): try: @@ -211,7 +172,7 @@ class ChromeDriverProtocol(WebDriverProtocol): super().__init__(executor, browser, capabilities, **kwargs) -def _evaluate_leaks(executor_cls): +def _evaluate_sanitized_result(executor_cls): if hasattr(executor_cls, "base_convert_result"): # Don't wrap more than once, which can cause unbounded recursion. return executor_cls @@ -226,28 +187,42 @@ def _evaluate_leaks(executor_cls): test_result.extra, test_result.stack, test_result.known_intermittent) + if self.sanitizer_enabled: + # Coerce functional failures to OK/PASS, and discard any subtest results. + if test_result.status in {"ERROR", "FAIL", "INTERNAL-ERROR", "PRECONDITION_FAILED"}: + test_result.status = test_result.default_expected + return test_result, [] return test_result, subtest_results executor_cls.convert_result = convert_result return executor_cls -@_evaluate_leaks +@_evaluate_sanitized_result class ChromeDriverCrashTestExecutor(WebDriverCrashtestExecutor): protocol_cls = ChromeDriverProtocol + def __init__(self, *args, sanitizer_enabled=False, **kwargs): + super().__init__(*args, **kwargs) + self.sanitizer_enabled = sanitizer_enabled + -@_evaluate_leaks -class ChromeDriverRefTestExecutor(WebDriverRefTestExecutor, _SanitizerMixin): # type: ignore +@_evaluate_sanitized_result +class ChromeDriverRefTestExecutor(WebDriverRefTestExecutor): protocol_cls = ChromeDriverProtocol + def __init__(self, *args, sanitizer_enabled=False, **kwargs): + super().__init__(*args, **kwargs) + self.sanitizer_enabled = sanitizer_enabled -@_evaluate_leaks -class ChromeDriverTestharnessExecutor(WebDriverTestharnessExecutor, _SanitizerMixin): # type: ignore + +@_evaluate_sanitized_result +class ChromeDriverTestharnessExecutor(WebDriverTestharnessExecutor): protocol_cls = ChromeDriverProtocol - def __init__(self, *args, reuse_window=False, **kwargs): + def __init__(self, *args, sanitizer_enabled=False, reuse_window=False, **kwargs): super().__init__(*args, **kwargs) + self.sanitizer_enabled = sanitizer_enabled self.reuse_window = reuse_window def get_or_create_test_window(self, protocol): @@ -284,7 +259,10 @@ class ChromeDriverTestharnessExecutor(WebDriverTestharnessExecutor, _SanitizerMi raise -@_evaluate_leaks -class ChromeDriverPrintRefTestExecutor(WebDriverPrintRefTestExecutor, - _SanitizerMixin): # type: ignore +@_evaluate_sanitized_result +class ChromeDriverPrintRefTestExecutor(WebDriverPrintRefTestExecutor): protocol_cls = ChromeDriverProtocol + + def __init__(self, *args, sanitizer_enabled=False, **kwargs): + super().__init__(*args, **kwargs) + self.sanitizer_enabled = sanitizer_enabled diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executoredge.py b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executoredge.py index 95b40bd8db1..2ddfdb3ad8f 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executoredge.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executoredge.py @@ -3,31 +3,25 @@ import os from .executorwebdriver import ( - WebDriverCrashtestExecutor, WebDriverRefTestExecutor, WebDriverRun, WebDriverTestharnessExecutor, ) -from .executorchrome import ( - ChromeDriverProtocol, - make_sanitizer_mixin, -) +from .executorchrome import ChromeDriverProtocol here = os.path.dirname(__file__) -_SanitizerMixin = make_sanitizer_mixin(WebDriverCrashtestExecutor) - class EdgeDriverProtocol(ChromeDriverProtocol): vendor_prefix = "ms" -class EdgeDriverRefTestExecutor(WebDriverRefTestExecutor, _SanitizerMixin): # type: ignore +class EdgeDriverRefTestExecutor(WebDriverRefTestExecutor): protocol_cls = EdgeDriverProtocol -class EdgeDriverTestharnessExecutor(WebDriverTestharnessExecutor, _SanitizerMixin): # type: ignore +class EdgeDriverTestharnessExecutor(WebDriverTestharnessExecutor): protocol_cls = EdgeDriverProtocol diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py index c2923d13a9e..243290841f1 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py @@ -763,7 +763,8 @@ class WebDriverRun(TimedRunner): # TODO(https://github.com/w3c/webdriver/issues/1308): The http # status and status code below are chromium specific. Replace # that with a standarded code once the issue is resolved. - if e.http_status == 500 and e.status_code == "disconnected": + if e.http_status == 500 and (e.status_code == "disconnected" or + e.status_code == "tab crashed"): status = "CRASH" if status is None: status = "INTERNAL-ERROR" if self.protocol.is_alive() else "CRASH" diff --git a/tests/wpt/tests/touch-events/single-touch.html b/tests/wpt/tests/touch-events/single-touch.html index 4db96c208d6..002be074e15 100644 --- a/tests/wpt/tests/touch-events/single-touch.html +++ b/tests/wpt/tests/touch-events/single-touch.html @@ -21,134 +21,155 @@ <script src="/resources/testdriver-vendor.js"></script> <script> - setup({explicit_done: true}); - - // Check a Touch object's atttributes for existence and correct type + // Check a Touch object's attributes for existence and correct type // TA: 1.1.2, 1.1.3 function check_Touch_object (t, element) { + test(function() { + assert_equals(Object.prototype.toString.call(t), "[object Touch]", + `${name} attribute of type TouchList`); + }, `${element}'s touch point is a Touch object`); + [ + ["long", "identifier"], + ["EventTarget", "target"], + ["long", "screenX"], + ["long", "screenY"], + ["long", "clientX"], + ["long", "clientY"], + ["long", "pageX"], + ["long", "pageY"], + ].forEach(function(attr) { + var type = attr[0]; + var name = attr[1]; + + // existence check test(function() { - assert_equals(Object.prototype.toString.call(t), "[object Touch]", name + " attribute of type TouchList"); - }, element + "'s touch point is a Touch object"); - [ - ["long", "identifier"], - ["EventTarget", "target"], - ["long", "screenX"], - ["long", "screenY"], - ["long", "clientX"], - ["long", "clientY"], - ["long", "pageX"], - ["long", "pageY"], - ].forEach(function(attr) { - var type = attr[0]; - var name = attr[1]; - - // existence check - test(function() { - assert_true(name in t, name + " attribute in Touch object"); - }, element + ".Touch." + name + " attribute exists check_Touch_object"); - - // type check - switch(type) { - case "long": - test(function() { - assert_equals(typeof t[name], "number", name + " attribute of type long"); - }, element + ".Touch." + name + " attribute is of type number (long)"); - break; - case "EventTarget": - // An event target is some type of Element - test(function() { - assert_true(t[name] instanceof Element, "EventTarget must be an Element."); - }, element + ".Touch." + name + " attribute is of type Element"); - break; - default: - break; - } - }); + assert_true(name in t, `${name} attribute in Touch object`); + }, `${element}.Touch.${name} attribute exists check_Touch_object`); + + // type check + switch(type) { + case "long": + test(function() { + assert_equals(typeof t[name], "number", + `${name} attribute of type long`); + }, `${element}.Touch.${name} attribute is of type number (long)`); + break; + + case "EventTarget": + // An event target is some type of Element + test(function() { + assert_true(t[name] instanceof Element, + "EventTarget must be an Element."); + }, `${element}.Touch.${name} attribute is of type Element`); + break; + + default: + break; + } + }); } - // Check a TouchList object's attributes and methods for existence and proper type + // Check a TouchList object's attributes and methods for existence and + // proper type. // Also make sure all of the members of the list are Touch objects // TA: 1.2.1, 1.2.2, 1.2.5 function check_TouchList_object (tl, element) { + const context = "check_touchList_object"; + const ulong = "number (unsigned long)"; + test(function() { + assert_equals(Object.prototype.toString.call(tl), + "[object TouchList]", + `${name} attribute of type TouchList`); + }, `${element}'s touch list is a TouchList object`); + [ + ["unsigned long", "length"], + ["function", "item"], + ].forEach(function(attr) { + var type = attr[0]; + var name = attr[1]; + + // existence check test(function() { - assert_equals(Object.prototype.toString.call(tl), "[object TouchList]", name + " attribute of type TouchList"); - }, element + "'s touch list is a TouchList object"); - [ - ["unsigned long", "length"], - ["function", "item"], - ].forEach(function(attr) { - var type = attr[0]; - var name = attr[1]; - - // existence check - test(function() { - assert_true(name in tl, name + " attribute in TouchList"); - }, element + ".TouchList." + name + " attribute exists check_TouchList_object"); - - // type check - switch(type) { - case "unsigned long": - test(function() { - assert_equals(typeof tl[name], "number", name + " attribute of type long"); - }, element + ".TouchList." + name + " attribute is of type number (unsigned long)"); - break; - case "function": - test(function() { - assert_equals(typeof tl[name], "function", name + " attribute of type function"); - }, element + ".TouchList." + name + " attribute is of type function"); - break; - default: - break; - } - }); - // Each member of tl should be a proper Touch object - for (var i=0; i < tl.length; i++) { - check_Touch_object(tl.item(i), element + "[" + i + "]"); - } + assert_true(name in tl, `${name} attribute in TouchList`); + }, `${element}.TouchList.${name} attribute exists ${context}`); + + // type check + switch(type) { + case "unsigned long": + test(function() { + assert_equals(typeof tl[name], "number", + `${name} attribute of type long`); + }, `${element}.TouchList.${name} attribute is of type ${ulong}`); + break; + + case "function": + test(function() { + assert_equals(typeof tl[name], "function", + `${name} attribute of type function`); + }, `${element}.TouchList.${name} attribute is of type function`); + break; + + default: + break; + } + }); + + // Each member of tl should be a proper Touch object + for (var i=0; i < tl.length; i++) { + check_Touch_object(tl.item(i), `${element}[${i}]`); + } } // Check a TouchEvent event's attributes for existence and proper type // Also check that each of the event's TouchList objects are valid // TA: 1.{3,4,5}.1.1, 1.{3,4,5}.1.2 function check_TouchEvent(ev) { + test(function() { + assert_true(ev instanceof TouchEvent, "event is a TouchEvent event"); + }, `${ev.type} event is a TouchEvent event`); + [ + ["TouchList", "touches"], + ["TouchList", "targetTouches"], + ["TouchList", "changedTouches"], + ["boolean", "altKey"], + ["boolean", "metaKey"], + ["boolean", "ctrlKey"], + ["boolean", "shiftKey"], + ].forEach(function(attr) { + var type = attr[0]; + var name = attr[1]; + + // existence check test(function() { - assert_true(ev instanceof TouchEvent, "event is a TouchEvent event"); - }, ev.type + " event is a TouchEvent event"); - [ - ["TouchList", "touches"], - ["TouchList", "targetTouches"], - ["TouchList", "changedTouches"], - ["boolean", "altKey"], - ["boolean", "metaKey"], - ["boolean", "ctrlKey"], - ["boolean", "shiftKey"], - ].forEach(function(attr) { - var type = attr[0]; - var name = attr[1]; - - // existence check + assert_true(name in ev, + `${name} attribute in ${ev.type} event`); + }, `${ev.type}.${name} attribute exists check_TouchEvent`); + + // type check + switch(type) { + case "boolean": + test(function() { + assert_equals( + typeof ev[name], "boolean", + `${name} attribute of type boolean`); + }, `${ev.type}.${name} attribute is of type boolean`); + break; + + case "TouchList": test(function() { - assert_true(name in ev, name + " attribute in " + ev.type + " event"); - }, ev.type + "." + name + " attribute exists check_TouchEvent"); - - // type check - switch(type) { - case "boolean": - test(function() { - assert_equals(typeof ev[name], "boolean", name + " attribute of type boolean"); - }, ev.type + "." + name + " attribute is of type boolean"); - break; - case "TouchList": - test(function() { - assert_equals(Object.prototype.toString.call(ev[name]), "[object TouchList]", name + " attribute of type TouchList"); - }, ev.type + "." + name + " attribute is of type TouchList"); - // Now check the validity of the TouchList - check_TouchList_object(ev[name], ev.type + "." + name); - break; - default: - break; - } - }); + assert_equals( + Object.prototype.toString.call(ev[name]), + "[object TouchList]", + `${name} attribute of type TouchList`); + }, `${ev.type}.${name} attribute is of type TouchList`); + // Now check the validity of the TouchList + check_TouchList_object(ev[name], `${ev.type}.${name}`); + break; + + default: + break; + } + }); } function is_touch_over_element(touch, element) { @@ -158,213 +179,233 @@ } function check_touch_clientXY(touch) { - assert_equals(touch.clientX, touch.pageX - window.pageXOffset, "touch.clientX is touch.pageX - window.pageXOffset."); - assert_equals(touch.clientY, touch.pageY - window.pageYOffset, "touch.clientY is touch.pageY - window.pageYOffset."); + assert_equals(touch.clientX, touch.pageX - window.pageXOffset, + "touch.clientX is touch.pageX - window.pageXOffset."); + assert_equals(touch.clientY, touch.pageY - window.pageYOffset, + "touch.clientY is touch.pageY - window.pageYOffset."); } function check_screenXY_clientXY_pageXY(touch) { - assert_greater_than_equal(touch.screenX, 0, "touch.screenX is no less than 0"); - assert_greater_than_equal(touch.screenY, 0, "touch.screenY is no less than 0"); - assert_greater_than_equal(touch.clientX, 0, "touch.clientX is no less than 0"); - assert_greater_than_equal(touch.clientY, 0, "touch.clientY is no less than 0"); - assert_greater_than_equal(touch.pageX, 0, "touch.pageX is no less than 0"); - assert_greater_than_equal(touch.pageY, 0, "touch.pageY is no less than 0"); + assert_greater_than_equal(touch.screenX, 0, + "touch.screenX is no less than 0"); + assert_greater_than_equal(touch.screenY, 0, + "touch.screenY is no less than 0"); + assert_greater_than_equal(touch.clientX, 0, + "touch.clientX is no less than 0"); + assert_greater_than_equal(touch.clientY, 0, + "touch.clientY is no less than 0"); + assert_greater_than_equal(touch.pageX, 0, + "touch.pageX is no less than 0"); + assert_greater_than_equal(touch.pageY, 0, + "touch.pageY is no less than 0"); } - async function run() { - var target0 = document.getElementById("target0"); - var target1 = document.getElementById("target1"); - - var test_touchstart = async_test("touchstart event received"); - var test_touchmove = async_test("touchmove event received"); - var test_touchend = async_test("touchend event received"); - var test_mousedown = async_test("Interaction with mouse events"); - - var touchstart_received = false; - var touchmove_received = false; - var touchend_received = false; - var invalid_touchmove_received = false; - var touchstart_identifier; - - on_event(target0, "touchstart", function onTouchStart(ev) { - ev.preventDefault(); - - // Check event ordering TA: 1.6.2 - test_touchstart.step(function() { - assert_false(touchstart_received, "duplicate touchstart event"); - assert_false(touchmove_received, "touchstart precedes touchmove"); - assert_false(touchend_received, "touchstart precedes touchend"); - }); - test_touchstart.done(); - if (touchstart_received) - return; - touchstart_received = true; - test_mousedown.done(); // If we got here, then the mouse event test is not needed. - - check_TouchEvent(ev); - - // TA: 1.3.2.1, 1.3.3.1, 1.3.4.1 - test(function() { - assert_equals(ev.touches.length, 1, "One touch point."); - assert_equals(ev.changedTouches.length, 1, "One changed touch point."); - assert_equals(ev.targetTouches.length, 1, "One target touch point."); - }, "touchstart: all TouchList lengths are correct"); - - var t = ev.touches[0]; - var ct = ev.changedTouches[0]; - var tt = ev.targetTouches[0]; - - touchstart_identifier = t.identifier; - // TA: 1.3.3.3, 1.3.2.3, 1.3.3.4 (indirect (transitive)) - test(function() { - assert_equals(ct.identifier, touchstart_identifier, "changedTouches identifier matches."); - assert_equals(tt.identifier, touchstart_identifier, "targetTouches identifier matches."); - }, "touchstart: all TouchList identifiers are consistent"); - - // TA: 1.3.3.9 - test(function() { - assert_equals(tt.target, ev.target, "event target same as targetTouches target."); - }, "touchstart: event target same as targetTouches target"); - - test(function() { - assert_true(is_touch_over_element(t, target0), "touch.pageX/pageY is over target0."); - }, "touchstart: touch pageX/pageY inside of target element"); - test(function() { - check_touch_clientXY(t); - }, "touchstart: touch clientX/clientY is consistent with pageX/pageY"); - // Note we don't bother testing screenX/screenY values - there's no reliable way to - // verify they are consistent with clientX/clientY (due to unknown amount of window - // chrome), and also various forms of scaling mean they are in different units. - - test(function() { - check_screenXY_clientXY_pageXY(t); - }, "touchstart: touch screenX/screenY pageX/pageY and clientX/clientY values are no less than 0"); - }); - - on_event(target0, "touchmove", function ontouchmove(ev) { - ev.preventDefault(); - - if (touchmove_received) - return; - touchmove_received = true; - - test_touchmove.step(function() { - assert_true(touchstart_received, "touchmove follows touchstart"); - assert_false(touchend_received, "touchmove precedes touchend"); - }); - test_touchmove.done(); - - check_TouchEvent(ev); - - // TA: 1.4.2.1, 1.4.3.1 - test(function() { - assert_equals(ev.touches.length, 1, "One touch point."); - assert_equals(ev.changedTouches.length, 1, "One changed touch point."); - assert_equals(ev.targetTouches.length, 1, "One target touch point."); - }, "touchmove: all TouchList lengths are correct"); - - // 1.4.2.3, 1.4.3.3, 1.4.3.5, 1.4.4.3 - test(function() { - assert_equals(ev.touches[0].identifier, touchstart_identifier, "Touch identifier matches."); - assert_equals(ev.changedTouches[0].identifier, touchstart_identifier, "Changed touch identifier matches."); - assert_equals(ev.targetTouches[0].identifier, touchstart_identifier, "Target touch identifier matches."); - }, "touchmove: all TouchList identifiers matches touchstart identifier"); - - // TA: 1.4.3.8 - var tt = ev.targetTouches[0]; - test(function() { - assert_equals(tt.target, ev.target, "event target same as targetTouches target."); - }, "touchmove: event target same as targetTouches target"); - - test(function() { - assert_true(is_touch_over_element(tt, target0) || is_touch_over_element(tt, target1), - "touch.pageX/pageY is over one of the targets."); - }, "touchmove: touch pageX/pageY inside of one of the target elements"); - test(function() { - check_touch_clientXY(tt); - }, "touchmove: touch clientX/clientY is consistent with pageX/pageY"); + function validateTouchstart(ev) { + check_TouchEvent(ev); + + // TA: 1.3.2.1, 1.3.3.1, 1.3.4.1 + test(function() { + assert_equals(ev.touches.length, 1, "One touch point."); + assert_equals(ev.changedTouches.length, 1, + "One changed touch point."); + assert_equals(ev.targetTouches.length, 1, "One target touch point."); + }, "touchstart: all TouchList lengths are correct"); + + var t = ev.touches[0]; + var ct = ev.changedTouches[0]; + var tt = ev.targetTouches[0]; + + touchstart_identifier = t.identifier; + // TA: 1.3.3.3, 1.3.2.3, 1.3.3.4 (indirect (transitive)) + test(function() { + assert_equals(ct.identifier, touchstart_identifier, + "changedTouches identifier matches."); + assert_equals(tt.identifier, touchstart_identifier, + "targetTouches identifier matches."); + }, "touchstart: all TouchList identifiers are consistent"); + + // TA: 1.3.3.9 + test(function() { + assert_equals(tt.target, ev.target, + "event target same as targetTouches target."); + }, "touchstart: event target same as targetTouches target"); + + test(function() { + assert_true(is_touch_over_element(t, target0), + "touch.pageX/pageY is over target0."); + }, "touchstart: touch pageX/pageY inside of target element"); + test(function() { + check_touch_clientXY(t); + }, "touchstart: touch clientX/clientY is consistent with pageX/pageY"); + test(function() { + check_screenXY_clientXY_pageXY(t); + }, "touchstart: touch screenX/screenY pageX/pageY and " + + "clientX/clientY values are no less than 0"); + } - test(function() { - check_screenXY_clientXY_pageXY(tt); - }, "touchmove: touch screenX/screenY pageX/pageY and clientX/clientY values are no less than 0"); + function validateTouchmove(ev) { + check_TouchEvent(ev); + + // TA: 1.4.2.1, 1.4.3.1 + test(function() { + assert_equals(ev.touches.length, 1, "One touch point."); + assert_equals(ev.changedTouches.length, 1, "One changed touch point."); + assert_equals(ev.targetTouches.length, 1, "One target touch point."); + }, "touchmove: all TouchList lengths are correct"); + + // 1.4.2.3, 1.4.3.3, 1.4.3.5, 1.4.4.3 + test(function() { + assert_equals(ev.touches[0].identifier, touchstart_identifier, + "Touch identifier matches."); + assert_equals(ev.changedTouches[0].identifier, touchstart_identifier, + "Changed touch identifier matches."); + assert_equals(ev.targetTouches[0].identifier, touchstart_identifier, + "Target touch identifier matches."); + }, "touchmove: all TouchList identifiers matches touchstart identifier"); + + // TA: 1.4.3.8 + var tt = ev.targetTouches[0]; + test(function() { + assert_equals(tt.target, ev.target, + "event target same as targetTouches target."); + }, "touchmove: event target same as targetTouches target"); + + test(function() { + assert_true(is_touch_over_element(tt, target0) || + is_touch_over_element(tt, target1), + "touch.pageX/pageY is over one of the targets."); + }, "touchmove: touch pageX/pageY inside of one of the target elements"); + + test(function() { + check_touch_clientXY(tt); + }, "touchmove: touch clientX/clientY is consistent with pageX/pageY"); + + test(function() { + check_screenXY_clientXY_pageXY(tt); + }, "touchmove: touch screenX/screenY pageX/pageY and clientX/clientY " + + "values are no less than 0"); + } - }); + function validateTouchend(ev) { + check_TouchEvent(ev); + + // TA: 1.5.1.2, 1.5.3.1, 1.5.4.1 + test(function() { + assert_equals(ev.touches.length, 0, "Zero touch points."); + assert_equals(ev.changedTouches.length, 1, "One changed touch point."); + assert_equals(ev.targetTouches.length, 0, "Zero target touch points."); + }, "touchend: all TouchList lengths are correct"); + + var t = ev.changedTouches[0]; + + // TA: 1.5.2.6, 1.5.2.3 + test(function() { + assert_equals(t.identifier, touchstart_identifier, + "changedTouches identifier matches."); + }, "touchend: touches identifier matches changedTouches identifier"); + + test(function() { + assert_true(is_touch_over_element(t, target1), + "touch.pageX/pageY is over target1."); + }, "touchend: touch pageX/pageY inside expected element"); + + test(function() { + check_touch_clientXY(t); + }, "touchend: touch clientX/clientY is consistent with pageX/pageY"); + + test(function() { + check_screenXY_clientXY_pageXY(t); + }, "touchend: touch screenX/screenY pageX/pageY and clientX/clientY " + + "values are no less than 0"); + } - on_event(target1, "touchmove", function onTouchMove(ev) { - invalid_touchmove_received = true; + function createEventPromise(eventType) { + const target0 = document.getElementById("target0"); + const doneButton = document.getElementById('done'); + return new Promise((resolve, reject) => { + doneButton.addEventListener('click', reject, { once: true }); + target0.addEventListener(eventType, event => { + doneButton.removeEventListener('click', reject); + resolve(event); + }, { once: true }); }); + } - on_event(window, "touchend", function ontouchend(ev) { - touchend_received = true; - - test_touchend.step(function() { - assert_equals(ev.target, target0, "touchend is dispatched to the original target"); - assert_true(touchstart_received, "touchend follows touchstart"); - assert_true(touchmove_received, "touchend follows touchmove"); - assert_false(invalid_touchmove_received, "touchmove dispatched to correct target"); - }); - test_touchend.done(); - - check_TouchEvent(ev); - - // TA: 1.5.1.2, 1.5.3.1, 1.5.4.1 - test(function() { - assert_equals(ev.touches.length, 0, "Zero touch points."); - assert_equals(ev.changedTouches.length, 1, "One changed touch point."); - assert_equals(ev.targetTouches.length, 0, "Zero target touch points."); - }, "touchend: all TouchList lengths are correct"); - - var t = ev.changedTouches[0]; - - // TA: 1.5.2.6, 1.5.2.3 - test(function() { - assert_equals(t.identifier, touchstart_identifier, "changedTouches identifier matches."); - }, "touchend: touches identifier matches changedTouches identifier"); - - test(function() { - assert_true(is_touch_over_element(t, target1), - "touch.pageX/pageY is over target1."); - }, "touchend: touch pageX/pageY inside expected element"); - test(function() { - check_touch_clientXY(t); - }, "touchend: touch clientX/clientY is consistent with pageX/pageY"); - - test(function() { - check_screenXY_clientXY_pageXY(t); - }, "touchend: touch screenX/screenY pageX/pageY and clientX/clientY values are no less than 0"); + async function run() { + const target0 = document.getElementById("target0"); + const target1 = document.getElementById("target1"); + const doneButton = document.getElementById('done'); + + promise_test(async t => { + const events = []; + + const recordTouchEvents = (target) => { + const listener = event => { + events.push(`${target.id}:${event.type}`); + }; + target.addEventListener('touchstart', listener); + target.addEventListener('touchmove', listener); + target.addEventListener('touchend', listener); + }; + recordTouchEvents(target0); + recordTouchEvents(target1); + + const touchstartPromise = createEventPromise('touchstart'); + const touchmovePromise = createEventPromise('touchmove'); + const touchendPromise = createEventPromise('touchend'); + + await new test_driver.Actions() + .addPointer("touchPointer1", "touch") + .pointerMove(0, 0, {origin: target0, sourceName: "touchPointer1"}) + .pointerDown({sourceName: "touchPointer1"}) + .pointerMove(0, 10, {origin: target0, sourceName: "touchPointer1"}) + .pointerMove(0, 0, {origin: target1, sourceName: "touchPointer1"}) + .pointerUp({sourceName: "touchPointer1"}) + .send(); + + // Signal test completion. Any events not processed by the time the + // button is clicked will not be received. This safeguards against a + // timeout on platforms lacking support for touch events. + await new test_driver.Actions() + .pointerMove(0, 0, {origin: doneButton}) + .pointerDown() + .pointerUp() + .send(); + + try { + const touchstartEvent = await touchstartPromise; + validateTouchstart(touchstartEvent); + } catch (e) { + assert_unreached('touchstart event not received'); + } - done(); - }); + try { + const touchmoveEvent = await touchmovePromise; + validateTouchmove(touchmoveEvent); + } catch (e) { + assert_unreached('touchmove event not received'); + } - on_event(target0, "mousedown", function onMouseDown(ev) { - test_mousedown.step(function() { - assert_true(touchstart_received, - "The touchstart event must be dispatched before any mouse " + - "events. (If this fails, it might mean that the user agent does " + - "not implement W3C touch events at all.)" - ); - }); - test_mousedown.done(); - - if (!touchstart_received) { - // Abort the tests. If touch events are not supported, then most of - // the other event handlers will never be called, and the test will - // time out with misleading results. - done(); + try { + const touchendEvent = await touchendPromise; + validateTouchend(touchendEvent); + } catch (e) { + assert_unreached('touchend event not received'); } - }); - await new test_driver.Actions() - .addPointer("touchPointer1", "touch") - .pointerMove(0, 0, {origin: target0, sourceName: "touchPointer1"}) - .pointerDown({sourceName: "touchPointer1"}) - .pointerMove(0, 10, {origin: target0, sourceName: "touchPointer1"}) - .pointerMove(0, 0, {origin: target1, sourceName: "touchPointer1"}) - .pointerUp({sourceName: "touchPointer1"}) - .send(); + // Check event ordering TA: 1.6.2 + assert_array_equals( + events, + ["target0:touchstart", "target0:touchmove", "target0:touchend"], + "unexpected event ordering"); + + }, 'Verify touch events for a single touch drag operation'); } </script> <style> + * { + touch-action: none; + } div { margin: 0em; padding: 2em; @@ -385,8 +426,9 @@ Touch this box with one finger (or other pointing device)... </div> <div id="target1"> - ...then drag to this box and lift your finger. + ...then drag to this box and lift your finger. Then tap on Done. </div> + <button id="done">Done</button> <div id="log"></div> </body> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/tests/url/idlharness-shadowrealm.window.js b/tests/wpt/tests/url/idlharness-shadowrealm.window.js index 2373f84e0e2..b090371e3c3 100644 --- a/tests/wpt/tests/url/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/url/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["url"], []); diff --git a/tests/wpt/tests/user-timing/idlharness-shadowrealm.window.js b/tests/wpt/tests/user-timing/idlharness-shadowrealm.window.js index 340da96f749..52ad58faa22 100644 --- a/tests/wpt/tests/user-timing/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/user-timing/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["user-timing"], ["hr-time", "performance-timeline", "dom"]); diff --git a/tests/wpt/tests/wasm/jsapi/idlharness-shadowrealm.window.js b/tests/wpt/tests/wasm/jsapi/idlharness-shadowrealm.window.js index 6f221c8c247..26348037f73 100644 --- a/tests/wpt/tests/wasm/jsapi/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/wasm/jsapi/idlharness-shadowrealm.window.js @@ -1,2 +1,3 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js idl_test_shadowrealm(["wasm-js-api"], []); diff --git a/tests/wpt/tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-duration-loop.html b/tests/wpt/tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-duration-loop.html index abb8983cc0b..fa188b68eee 100644 --- a/tests/wpt/tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-duration-loop.html +++ b/tests/wpt/tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-duration-loop.html @@ -42,7 +42,7 @@ audioBuffer.getChannelData(0), 'audioBuffer.getChannelData') .beEqualToArray(expected); }) - .then(task.done()); + .then(task.done.bind(task)); }); audit.run(); diff --git a/tests/wpt/tests/webcodecs/video-decoder.https.any.js b/tests/wpt/tests/webcodecs/video-decoder.https.any.js index 6b77aeae545..333ac55a9b4 100644 --- a/tests/wpt/tests/webcodecs/video-decoder.https.any.js +++ b/tests/wpt/tests/webcodecs/video-decoder.https.any.js @@ -94,6 +94,10 @@ const validButUnsupportedConfigs = [ comment: 'Possible future AV1 codec string', config: {codec: 'av01.9.99M.08'}, }, + { + comment: 'codec with spaces', + config: {codec: ' vp09.00.10.08 '}, + }, ]; // validButUnsupportedConfigs validButUnsupportedConfigs.forEach(entry => { @@ -152,10 +156,6 @@ promise_test(t => { const validConfigs = [ { - comment: 'valid codec with spaces', - config: {codec: ' vp09.00.10.08 '}, - }, - { comment: 'variant 1 of h264 codec string', config: {codec: 'avc3.42001E'}, }, diff --git a/tests/wpt/tests/webcodecs/video-encoder-h26x-annexb.https.any.js b/tests/wpt/tests/webcodecs/video-encoder-h26x-annexb.https.any.js new file mode 100644 index 00000000000..076a8342f1f --- /dev/null +++ b/tests/wpt/tests/webcodecs/video-encoder-h26x-annexb.https.any.js @@ -0,0 +1,369 @@ +// META: global=window,dedicatedworker +// META: script=/webcodecs/video-encoder-utils.js +// META: variant=?h264_annexb_software +// META: variant=?h264_annexb_hardware +// META: variant=?h265_annexb_software +// META: variant=?h265_annexb_hardware + +var ENCODER_CONFIG = null; +var ANNEXB_CODEC = '' +promise_setup(async () => { + const config = { + '?h264_annexb_software': { + codec: 'avc1.42001E', + avc: {format: 'annexb'}, + hardwareAcceleration: 'prefer-software', + }, + '?h264_annexb_hardware': { + codec: 'avc1.42001E', + avc: {format: 'annexb'}, + hardwareAcceleration: 'prefer-hardware', + }, + '?h265_annexb_software': { + codec: 'hvc1.1.6.L123.00', + hevc: {format: 'annexb'}, + hardwareAcceleration: 'prefer-software', + }, + '?h265_annexb_hardware': { + codec: 'hvc1.1.6.L123.00', + hevc: {format: 'annexb'}, + hardwareAcceleration: 'prefer-hardware', + } + }[location.search]; + if (config.avc) { + ANNEXB_CODEC = 'h264' + } + if (config.hevc) { + ANNEXB_CODEC = 'h265' + } + config.width = 320; + config.height = 200; + config.bitrate = 1000000; + config.framerate = 30; + ENCODER_CONFIG = config; +}); + +// The code is inspired from https://source.chromium.org/chromium/chromium/src/+/main:media/formats/mp4/avc.cc;l=190;drc=a6567f4fac823a8a319652bdb5070b5b72a60f30 +// and https://source.chromium.org/chromium/chromium/src/+/main:media/formats/mp4/hevc.cc;l=425;drc=a6567f4fac823a8a319652bdb5070b5b72a60f30? + +function checkNaluSyntax(test, chunk) { + test.step(() => { + + const buffer = new Uint8Array(chunk.byteLength); + const keyFrame = chunk.type === "key"; + chunk.copyTo(buffer); + + const kAUDAllowed = 1; + const kBeforeFirstVCL = 2; // VCL == nal_unit_types 1-5 + const kAfterFirstVCL = 3; + const kEOStreamAllowed = 4; + const kNoMoreDataAllowed = 5; + // Define constants for h264 NALU types + const kAUD = 9; + const kSEIMessage = 6; + const kPrefix = 14; + const kSubsetSPS = 15; + const kDPS = 16; + const kReserved17 = 17; + const kReserved18 = 18; + const kPPS = 8; + const kSPS = 7; + const kSPSExt = 13; + const kNonIDRSlice = 1; + const kSliceDataA = 2; + const kSliceDataB = 3; + const kSliceDataC = 4; + const kIDRSlice = 5; + const kCodedSliceAux = 19; + const kEOSeq = 10; + const kEOStream = 11; + const kFiller = 12; + const kUnspecified = 0; + // Define constants for h265 NALU types + const AUD_NUT = 35; + const VPS_NUT = 32; + const SPS_NUT = 33; + const PPS_NUT = 34; + const PREFIX_SEI_NUT = 39; + const RSV_NVCL41 = 41; + const RSV_NVCL42 = 42; + const RSV_NVCL43 = 43; + const RSV_NVCL44 = 44; + const UNSPEC48 = 48; + const UNSPEC49 = 49; + const UNSPEC50 = 50; + const UNSPEC51 = 51; + const UNSPEC52 = 52; + const UNSPEC53 = 53; + const UNSPEC54 = 54; + const UNSPEC55 = 55; + const FD_NUT = 38; + const SUFFIX_SEI_NUT = 40; + const RSV_NVCL45 = 45; + const RSV_NVCL46 = 46; + const RSV_NVCL47 = 47; + const UNSPEC56 = 56; + const UNSPEC57 = 57; + const UNSPEC58 = 58; + const UNSPEC59 = 59; + const UNSPEC60 = 60; + const UNSPEC61 = 61; + const UNSPEC62 = 62; + const UNSPEC63 = 63; + const EOS_NUT = 36; + const EOB_NUT = 37; + const TRAIL_N = 0; + const TRAIL_R = 1; + const TSA_N = 2; + const TSA_R = 3; + const STSA_N = 4; + const STSA_R = 5; + const RADL_N = 6; + const RADL_R = 7; + const RASL_N = 8; + const RASL_R = 9; + const RSV_VCL_N10 = 10; + const RSV_VCL_R11 = 11; + const RSV_VCL_N12 = 12; + const RSV_VCL_R13 = 13; + const RSV_VCL_N14 = 14; + const RSV_VCL_R15 = 15; + const RSV_VCL24 = 24; + const RSV_VCL25 = 25; + const RSV_VCL26 = 26; + const RSV_VCL27 = 27; + const RSV_VCL28 = 28; + const RSV_VCL29 = 29; + const RSV_VCL30 = 30; + const RSV_VCL31 = 31; + const BLA_W_LP = 16; + const BLA_W_RADL = 17; + const BLA_N_LP = 18; + const IDR_W_RADL = 19; + const IDR_N_LP = 20; + const CRA_NUT = 21; + const RSV_IRAP_VCL22 = 22; + const RSV_IRAP_VCL23 = 23; + + let order_state = kAUDAllowed; + let lastBytes = [0xFF, 0xFF, 0xFF]; + for (let pos = 0; pos < buffer.length; pos++) { + if (lastBytes[0] == 0x00 && lastBytes[1] == 0x00 + && lastBytes[2] == 0x01) { + let naluType = buffer[pos] & 0x1f; + if (ANNEXB_CODEC === "h264") { + switch (naluType) { + case kAUD: + assert_less_than_equal(order_state, kAUDAllowed, "Unexpected AUD in order_state " + order_state); + order_state = kBeforeFirstVCL; + break; + + case kSEIMessage: + case kPrefix: + case kSubsetSPS: + case kDPS: + case kReserved17: + case kReserved18: + case kPPS: + case kSPS: + assert_less_than_equal(order_state, kBeforeFirstVCL, "Unexpected NALU type " + naluType + " in order_state " + order_state); + order_state = kBeforeFirstVCL; + break; + + case kSPSExt: + assert_equals(last_nalu_type, kSPS, "SPS extension does not follow an SPS."); + break; + + case kNonIDRSlice: + case kSliceDataA: + case kSliceDataB: + case kSliceDataC: + case kIDRSlice: + assert_less_than_equal(order_state, kAfterFirstVCL, "Unexpected VCL in order_state " + order_state); + assert_equals(naluType == kIDRSlice, keyFrame, "Keyframe indicator does not match: " + (naluType == kIDRSlice) + " versus " + keyFrame); + order_state = kAfterFirstVCL; + break; + + case kCodedSliceAux: + assert_equals(order_state, kAfterFirstVCL, "Unexpected extension in order_state " + order_state); + break; + + case kEOSeq: + assert_equals(order_state, kAfterFirstVCL, "Unexpected EOSeq in order_state " + order_state); + order_state = kEOStreamAllowed; + break; + + case kEOStream: + assert_greater_than(kAfterFirstVCL, order_state, "Unexpected EOStream in order_state " + order_state); + order_state = kNoMoreDataAllowed; + break; + // These syntax elements are to simply be ignored according to H264 + // Annex B 7.4.2.7 + case kFiller: + case kUnspecified: + // These syntax elements are to simply be ignored according to H264 Annex B 7.4.2.7 + break; + + default: + assert_greater_than(naluType, 19, "NALU TYPE smaller than 20 for unknown type"); + break; + } + } else if (ANNEXB_CODEC === 'h265') { + // When any VPS NAL units, SPS NAL units, PPS NAL units, prefix SEI NAL + // units, NAL units with nal_unit_type in the range of + // RSV_NVCL41..RSV_NVCL44, or NAL units with nal_unit_type in the range of + // UNSPEC48..UNSPEC55 are present, they shall not follow the last VCL NAL + // unit of the access unit. + + switch (naluType) { + case AUD_NUT: + assert_less_than_equal(order_state, kAUDAllowed, "Unexpected AUD in order_state " + order_state); + order_state = kBeforeFirstVCL; + break; + + case VPS_NUT: + case SPS_NUT: + case PPS_NUT: + case PREFIX_SEI_NUT: + case RSV_NVCL41: + case RSV_NVCL42: + case RSV_NVCL43: + case RSV_NVCL44: + case UNSPEC48: + case UNSPEC49: + case UNSPEC50: + case UNSPEC51: + case UNSPEC52: + case UNSPEC53: + case UNSPEC54: + case UNSPEC55: + assert_less_than_equal(order_state, kBeforeFirstVCL, "Unexpected NALU type " + nalu.nal_unit_type + " in order_state " + order_state); + order_state = kBeforeFirstVCL; + break; + // NAL units having nal_unit_type equal to FD_NUT or SUFFIX_SEI_NUT or in + // the range of RSV_NVCL45..RSV_NVCL47 or UNSPEC56..UNSPEC63 shall not + // precede the first VCL NAL unit of the access unit. + case FD_NUT: + case SUFFIX_SEI_NUT: + case RSV_NVCL45: + case RSV_NVCL46: + case RSV_NVCL47: + case UNSPEC56: + case UNSPEC57: + case UNSPEC58: + case UNSPEC59: + case UNSPEC60: + case UNSPEC61: + case UNSPEC62: + case UNSPEC63: + assert_less_than_equal(order_state, kAfterFirstVC, "Unexpected NALU type " + nalu.nal_unit_type + " in order_state " + order_state); + break; + + // When an end of sequence NAL unit is present, it shall be the last NAL + // unit among all NAL units in the access unit other than an end of + // bitstream NAL unit (when present). + case EOS_NUT: + assert_equals(order_state, kAfterFirstVCL, "Unexpected EOS in order_state " + order_state); + order_state = kEOBitstreamAllowed; + break; + // When an end of bitstream NAL unit is present, it shall be the last NAL + // unit in the access unit. + case EOB_NUT: + assert_less_than_equal(order_state, kAfterFirstVCL, "Unexpected EOB in order_state " + order_state); + order_state = kNoMoreDataAllowed; + break; + // VCL, non-IRAP + case TRAIL_N: + case TRAIL_R: + case TSA_N: + case TSA_R: + case STSA_N: + case STSA_R: + case RADL_N: + case RADL_R: + case RASL_N: + case RASL_R: + case RSV_VCL_N10: + case RSV_VCL_R11: + case RSV_VCL_N12: + case RSV_VCL_R13: + case RSV_VCL_N14: + case RSV_VCL_R15: + case RSV_VCL24: + case RSV_VCL25: + case RSV_VCL26: + case RSV_VCL27: + case RSV_VCL28: + case RSV_VCL29: + case RSV_VCL30: + case RSV_VCL31: + assert_less_than_equal(order_state, kAfterFirstVCL, "Unexpected VCL in order_state " + order_state); + order_state = kAfterFirstVCL; + break; + // VCL, IRAP + case BLA_W_LP: + case BLA_W_RADL: + case BLA_N_LP: + case IDR_W_RADL: + case IDR_N_LP: + case CRA_NUT: + case RSV_IRAP_VCL22: + case RSV_IRAP_VCL23: + assert_less_than_equal(order_state, kAfterFirstVCL, "Unexpected VCL in order_state " + order_state); + assert_equals(keyFrame, true, "The frame is coded as Keyframe, but indicator does not match"); + order_state = kAfterFirstVCL; + break; + + default: + assert_true(false, "Unsupported NALU type " + naluType); + break; + }; + + } + last_nalu_type = naluType; + } + lastBytes.push(buffer[pos]); + lastBytes.shift(); // advance reading + } + }) +} + +async function runAnnexBTest(t) { + let encoder_config = { ...ENCODER_CONFIG }; + const w = encoder_config.width; + const h = encoder_config.height; + let frames_to_encode = 16; + + await checkEncoderSupport(t, encoder_config); + + const encodedResults = []; + const encoder_init = { + output(chunk, metadata) { + encodedResults.push(chunk); + }, + error(e) { + assert_unreached(e.message); + } + }; + + let encoder = new VideoEncoder(encoder_init); + encoder.configure(encoder_config); + + for (let i = 0; i < frames_to_encode; i++) { + let frame = createDottedFrame(w, h, i); + let keyframe = (i % 5 == 0); + encoder.encode(frame, { keyFrame: keyframe }); + frame.close(); + } + + await encoder.flush(); + encoder.close(); + + encodedResults.forEach((chunk) => checkNaluSyntax(t, chunk)); + + assert_greater_than(encodedResults.length, 0, "frames_encoded"); +} + +promise_test(async t => { + return runAnnexBTest(t); +}, 'Verify stream compliance h26x annexb'); diff --git a/tests/wpt/tests/webcodecs/video-encoder-rescaling.https.any.js b/tests/wpt/tests/webcodecs/video-encoder-rescaling.https.any.js new file mode 100644 index 00000000000..70bafa04964 --- /dev/null +++ b/tests/wpt/tests/webcodecs/video-encoder-rescaling.https.any.js @@ -0,0 +1,240 @@ +// META: global=window,dedicatedworker +// META: variant=?av1 +// META: variant=?vp8 +// META: variant=?vp9_p0 +// META: variant=?h264_avc +// META: variant=?h264_annexb + +let BASECONFIG = null; +promise_setup(async () => { + const config = { + '?av1': { codec: 'av01.0.04M.08' }, + '?vp8': { codec: 'vp8' }, + '?vp9_p0': { codec: 'vp09.00.10.08' }, + '?h264_avc': { codec: 'avc1.42001E', avc: { format: 'avc' } }, + '?h264_annexb': { codec: 'avc1.42001E', avc: { format: 'annexb' } }, + }[location.search]; + BASECONFIG = config; + BASECONFIG.framerate = 30; + BASECONFIG.bitrate = 3000000; +}); + +function scaleFrame(oneFrame, scaleSize) { + const { w: width, h: height } = scaleSize; + return new Promise(async (resolve, reject) => { + let encodedResult; + const encoder = new VideoEncoder({ + output: (chunk, metadata) => { + encodedResult = { chunk, metadata }; + }, + error: (error) => { + reject(error); + }, + }); + + const encoderConfig = { + ...BASECONFIG, + width, + height, + }; + encoder.configure(encoderConfig); + + encoder.encode(oneFrame); + await encoder.flush(); + + let decodedResult; + const decoder = new VideoDecoder({ + output(frame) { + decodedResult = frame; + }, + error: (error) => { + reject(error); + }, + }); + + decoder.configure(encodedResult.metadata.decoderConfig); + decoder.decode(encodedResult.chunk); + await decoder.flush(); + + encoder.close(); + decoder.close(); + + resolve(decodedResult); + }); +} + +// This function determines which quadrant of a rectangle (width * height) +// a point (x, y) falls into, and returns the corresponding color for that +// quadrant. The rectangle is divided into four quadrants: +// < w > +// ^ +--------+--------+ +// | (0, 0) | (1, 0) | +// h +--------+--------+ +// | (0, 1) | (1, 1) | +// v +--------+--------+ +// +// The colors array must contain at least four colors, each corresponding +// to one of the quadrants: +// - colors[0] : top-left (0, 0) +// - colors[1] : top-right (1, 0) +// - colors[2] : bottom-left (0, 1) +// - colors[3] : bottom-right (1, 1) +function getColor(x, y, width, height, colors, channel) { + // Determine which quadrant (x, y) belongs to. + const xIndex = x * 2 >= width ? 1 : 0; + const yIndex = y * 2 >= height ? 1 : 0; + + const index = yIndex * 2 + xIndex; + return colors[index][channel]; +} + + +// All channel paramaters are arrays with the index being the channel +// channelOffset: The offset for each channel in allocated data array. +// channelWidth: The width of ecah channel in pixels +// channelPlaneWidths: the width of the channel used to calculate the image's memory size. +// For interleaved data, only the first width is set to the width of the full data in bytes; see RGBX for an example. +// channelStrides: The stride (in bytes) for each channel. +// channelSteps: The step size in bytes to move from one pixel to the next horizontally within the same row +// channelHeights: The height (in bytes) for each channel. +// channelFourColor: The four colors encoded in the color format of the channels +// +function createImageData({ channelOffsets, channelWidths, channelPlaneWidths, channelStrides, channelSteps, channelHeights, channelFourColors }) { + let memSize = 0; + for (let chan = 0; chan < 3; chan++) { + memSize += channelHeights[chan] * channelPlaneWidths[chan]; + } + let data = new Uint8Array(memSize); + for (let chan = 0; chan < 3; chan++) { + for (let y = 0; y < channelHeights[chan]; y++) { + for (let x = 0; x < channelWidths[chan]; x++) { + data[channelOffsets[chan] + Math.floor(channelStrides[chan] * y) + Math.floor(channelSteps[chan] * x)] = + getColor(x, y, channelWidths[chan], channelHeights[chan], channelFourColors, chan); + } + } + } + return data; +} + +function testImageData(data, { channelOffsets, channelWidths, channelStrides, channelSteps, channelHeights, channelFourColors }) { + let err = 0.; + for (let chan = 0; chan < 3; chan++) { + for (let y = 0; y < channelHeights[chan]; y++) { + for (let x = 0; x < channelWidths[chan]; x++) { + const curdata = data[channelOffsets[chan] + Math.floor(channelStrides[chan] * y) + Math.floor(channelSteps[chan] * x)]; + const diff = curdata - getColor(x, y, channelWidths[chan], channelHeights[chan], channelFourColors, chan); + err += Math.abs(diff); + } + } + } + return err / data.length / 3 / 255 * 4; +} + +function rgb2yuv(rgb) { + let y = rgb[0] * .299000 + rgb[1] * .587000 + rgb[2] * .114000 + let u = rgb[0] * -.168736 + rgb[1] * -.331264 + rgb[2] * .500000 + 128 + let v = rgb[0] * .500000 + rgb[1] * -.418688 + rgb[2] * -.081312 + 128 + + y = Math.floor(y); + u = Math.floor(u); + v = Math.floor(v); + return [ + y, u, v + ] +} + +function createChannelParameters(channelParams, x, y) { + return { + channelOffsets: channelParams.channelOffsetsConstant.map( + (cont, index) => cont + channelParams.channelOffsetsSize[index] * + x * y), + channelWidths: channelParams.channelWidths.map((width) => Math.floor(width * x)), + channelPlaneWidths: channelParams.channelPlaneWidths.map((width) => Math.floor(width * x)), + channelStrides: channelParams.channelStrides.map((width) => Math.floor(width * x)), + channelSteps: channelParams.channelSteps.map((height) => height), + channelHeights: channelParams.channelHeights.map((height) => Math.floor(height * y)), + channelFourColors: channelParams.channelFourColors + } +} + + +const scaleTests = [ + { from: { w: 64, h: 64 }, to: { w: 128, h: 128 } }, // Factor 2 + { from: { w: 128, h: 128 }, to: { w: 128, h: 128 } }, // Factor 1 + { from: { w: 128, h: 128 }, to: { w: 64, h: 64 } }, // Factor 0.5 + { from: { w: 32, h: 32 }, to: { w: 96, h: 96 } }, // Factor 3 + { from: { w: 192, h: 192 }, to: { w: 64, h: 64 } }, // Factor 1/3 + { from: { w: 64, h: 32 }, to: { w: 128, h: 64 } }, // Factor 2 + { from: { w: 128, h: 256 }, to: { w: 64, h: 128 } }, // Factor 0.5 + { from: { w: 64, h: 64 }, to: { w: 128, h: 192 } }, // Factor 2 (w) and 3 (h) + { from: { w: 128, h: 192 }, to: { w: 64, h: 64 } }, // Factor 0.5 (w) and 1/3 (h) +] +const fourColors = [[255, 255, 0], [255, 0, 0], [0, 255, 0], [0, 0, 255]]; +const pixelFormatChannelParameters = [ + { // RGBX + channelOffsetsConstant: [0, 1, 2], + channelOffsetsSize: [0, 0, 0], + channelPlaneWidths: [4, 0, 0], // only used for allocation + channelWidths: [1, 1, 1], + channelStrides: [4, 4, 4], // scaled by width + channelSteps: [4, 4, 4], + channelHeights: [1, 1, 1], // scaled by height + channelFourColors: fourColors.map((col) => col), // just clone, + format: 'RGBX' + }, + { // I420 + channelOffsetsConstant: [0, 0, 0], + channelOffsetsSize: [0, 1, 1.25], + channelPlaneWidths: [1, 0.5, 0.5], + channelWidths: [1, 0.5, 0.5], + channelStrides: [1, 0.5, 0.5], // scaled by width + channelSteps: [1, 1, 1], + channelHeights: [1, 0.5, 0.5], // scaled by height + channelFourColors: fourColors.map((col) => rgb2yuv(col)), // just clone + format: 'I420' + } +] + +for (const scale of scaleTests) { + for (const channelParams of pixelFormatChannelParameters) { + promise_test(async t => { + const inputChannelParameters = createChannelParameters(channelParams, scale.from.w, scale.from.h); + const inputData = createImageData(inputChannelParameters); + const inputFrame = new VideoFrame(inputData, { + timestamp: 0, + displayWidth: scale.from.w, + displayHeight: scale.from.h, + codedWidth: scale.from.w, + codedHeight: scale.from.h, + format: channelParams.format + }); + const outputFrame = await scaleFrame(inputFrame, scale.to); + const outputArrayBuffer = new Uint8Array(outputFrame.allocationSize({ format: 'RGBX' })); + const layout = await outputFrame.copyTo(outputArrayBuffer, { format: 'RGBX' }); + const stride = layout[0].stride + const offset = layout[0].offset + + const error = testImageData(outputArrayBuffer, { + channelOffsets: [offset, offset + 1, offset + 2], + channelWidths: [outputFrame.codedWidth, outputFrame.codedWidth, outputFrame.codedWidth], + channelStrides: [stride, stride, stride], + channelSteps: [4, 4, 4], + channelHeights: [outputFrame.codedHeight, outputFrame.codedHeight, outputFrame.codedHeight], + channelFourColors: fourColors.map((col) => col) + }); + outputFrame.close(); + assert_approx_equals(error, 0, 0.05, 'Scaled Image differs too much! Scaling from ' + + scale.from.w + ' x ' + scale.from.h + + ' to ' + + scale.to.w + ' x ' + scale.to.h + + ' Format:' + + channelParams.format + ); + }, 'Scaling Image in Encoding from ' + + scale.from.w + ' x ' + scale.from.h + + ' to ' + + scale.to.w + ' x ' + scale.to.h + + ' Format: ' + + channelParams.format); + } +} diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py index b426724da53..6cef36ca932 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py +++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py @@ -1,5 +1,6 @@ import pytest from tests.support.sync import AsyncPoll +from webdriver.error import TimeoutException from webdriver.bidi.modules.script import ContextTarget from ... import int_interval @@ -142,22 +143,32 @@ async def test_iframe( @pytest.mark.parametrize("type_hint", ["tab", "window"]) -async def test_new_context(bidi_session, subscribe_events, wait_for_event, wait_for_future_safe, type_hint): +async def test_new_context_not_emitted(bidi_session, subscribe_events, + wait_for_event, wait_for_future_safe, type_hint): await subscribe_events(events=[DOM_CONTENT_LOADED_EVENT]) - on_entry = wait_for_event(DOM_CONTENT_LOADED_EVENT) - new_context = await bidi_session.browsing_context.create(type_hint=type_hint) - event = await wait_for_future_safe(on_entry) + # Track all received browsingContext.domContentLoaded events in the events array + events = [] - assert_navigation_info( - event, {"context": new_context["context"], "url": "about:blank"} + async def on_event(method, data): + events.append(data) + + remove_listener = bidi_session.add_event_listener( + DOM_CONTENT_LOADED_EVENT, on_event ) - assert event["navigation"] is not None + + await bidi_session.browsing_context.create(type_hint=type_hint) + + wait = AsyncPoll(bidi_session, timeout=0.5) + with pytest.raises(TimeoutException): + await wait.until(lambda _: len(events) > 0) + + remove_listener() @pytest.mark.parametrize("sandbox", [None, "sandbox_1"]) async def test_document_write( - bidi_session, subscribe_events, new_tab, wait_for_event, wait_for_future_safe, sandbox + bidi_session, subscribe_events, new_tab, wait_for_event, wait_for_future_safe, sandbox ): await subscribe_events(events=[DOM_CONTENT_LOADED_EVENT]) diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/load/load.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/load/load.py index 0dcada33779..92148721874 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/load/load.py +++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/load/load.py @@ -122,17 +122,27 @@ async def test_iframe( @pytest.mark.parametrize("type_hint", ["tab", "window"]) -async def test_new_context(bidi_session, subscribe_events, wait_for_event, wait_for_future_safe, type_hint): +async def test_new_context_not_emitted(bidi_session, subscribe_events, + wait_for_event, wait_for_future_safe, type_hint): await subscribe_events(events=[CONTEXT_LOAD_EVENT]) - on_entry = wait_for_event(CONTEXT_LOAD_EVENT) - new_context = await bidi_session.browsing_context.create(type_hint=type_hint) - event = await wait_for_future_safe(on_entry) + # Track all received "browsingContext.load" events in the events array + events = [] - assert_navigation_info( - event, {"context": new_context["context"], "url": "about:blank"} + async def on_event(method, data): + events.append(data) + + remove_listener = bidi_session.add_event_listener( + CONTEXT_LOAD_EVENT, on_event ) - assert event["navigation"] is not None + + await bidi_session.browsing_context.create(type_hint=type_hint) + + wait = AsyncPoll(bidi_session, timeout=0.5) + with pytest.raises(TimeoutException): + await wait.until(lambda _: len(events) > 0) + + remove_listener() @pytest.mark.parametrize("sandbox", [None, "sandbox_1"]) diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started.py index effb359250b..599708a5de8 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started.py +++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started.py @@ -496,3 +496,110 @@ async def test_with_accepted_beforeunload_prompt( assert events[0]["url"] == target_url remove_listener() + + +@pytest.mark.parametrize("type_hint", ["tab", "window"]) +async def test_new_context(bidi_session, subscribe_events, type_hint): + await subscribe_events(events=[NAVIGATION_STARTED_EVENT]) + + # Track all received browsingContext.navigationStarted events in the events array + events = [] + + async def on_event(method, data): + events.append(data) + + remove_listener = bidi_session.add_event_listener( + NAVIGATION_STARTED_EVENT, on_event + ) + + await bidi_session.browsing_context.create(type_hint=type_hint) + + # In the future we can wait for "browsingContext.contextCreated" event instead. + wait = AsyncPoll(bidi_session, timeout=0.5) + with pytest.raises(TimeoutException): + await wait.until(lambda _: len(events) > 0) + + remove_listener() + + +async def test_navigate_to_about_blank( + bidi_session, subscribe_events, new_tab, wait_for_event, wait_for_future_safe +): + await subscribe_events(events=[NAVIGATION_STARTED_EVENT]) + + on_entry = wait_for_event(NAVIGATION_STARTED_EVENT) + url = "about:blank" + result = await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=url + ) + event = await wait_for_future_safe(on_entry) + + assert_navigation_info( + event, + { + "context": new_tab["context"], + "navigation": result["navigation"], + "url": url, + }, + ) + + +@pytest.mark.parametrize("url", ["", "about:blank", "about:blank?test"]) +async def test_window_open_with_about_blank( + bidi_session, subscribe_events, top_context, url +): + await subscribe_events(events=[NAVIGATION_STARTED_EVENT]) + + # Track all received browsingContext.navigationStarted events in the events array + events = [] + + async def on_event(method, data): + events.append(data) + + remove_listener = bidi_session.add_event_listener( + NAVIGATION_STARTED_EVENT, on_event + ) + + await bidi_session.script.evaluate( + expression=f"window.open('{url}');", + target=ContextTarget(top_context["context"]), + await_promise=False, + ) + + # In the future we can wait for "browsingContext.contextCreated" event instead. + wait = AsyncPoll(bidi_session, timeout=0.5) + with pytest.raises(TimeoutException): + await wait.until(lambda _: len(events) > 0) + + remove_listener() + + +async def test_window_open_with_url( + bidi_session, + subscribe_events, + top_context, + wait_for_event, + inline, + wait_for_future_safe, +): + await subscribe_events(events=[NAVIGATION_STARTED_EVENT]) + on_navigation_started = wait_for_event(NAVIGATION_STARTED_EVENT) + url = inline("<div>foo</div>") + + await bidi_session.script.evaluate( + expression=f"window.open('{url}');", + target=ContextTarget(top_context["context"]), + await_promise=False, + ) + + event = await wait_for_future_safe(on_navigation_started) + + result = await bidi_session.browsing_context.get_tree() + + assert_navigation_info( + event, + { + "context": result[1]["context"], + "url": url, + }, + ) diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started_initial_navigation_tentative.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started_initial_navigation_tentative.py deleted file mode 100644 index 87b18a8b909..00000000000 --- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started_initial_navigation_tentative.py +++ /dev/null @@ -1,55 +0,0 @@ -import pytest - -from webdriver.bidi.modules.script import ContextTarget - -from .. import assert_navigation_info - -pytestmark = pytest.mark.asyncio - -NAVIGATION_STARTED_EVENT = "browsingContext.navigationStarted" - - -# Tentative: https://github.com/web-platform-tests/wpt/issues/47942 - -@pytest.mark.parametrize("type_hint", ["tab", "window"]) -async def test_new_context(bidi_session, subscribe_events, wait_for_event, - wait_for_future_safe, type_hint): - await subscribe_events(events=[NAVIGATION_STARTED_EVENT]) - - on_entry = wait_for_event(NAVIGATION_STARTED_EVENT) - top_level_context = await bidi_session.browsing_context.create( - type_hint="tab") - navigation_info = await wait_for_future_safe(on_entry) - assert_navigation_info( - navigation_info, - { - "context": top_level_context["context"], - "url": "about:blank", - }, - ) - - -async def test_window_open(bidi_session, subscribe_events, wait_for_event, - wait_for_future_safe, top_context): - await subscribe_events(events=[NAVIGATION_STARTED_EVENT]) - - on_entry = wait_for_event(NAVIGATION_STARTED_EVENT) - - await bidi_session.script.evaluate( - expression="""window.open('about:blank');""", - target=ContextTarget(top_context["context"]), - await_promise=False, - ) - - navigation_info = await wait_for_future_safe(on_entry) - assert_navigation_info( - navigation_info, - { - "url": "about:blank", - }, - ) - assert navigation_info["navigation"] is not None - - # Retrieve all contexts to get the context for the new window. - contexts = await bidi_session.browsing_context.get_tree() - assert navigation_info["context"] == contexts[-1]["context"] diff --git a/tests/wpt/tests/webdriver/tests/bidi/session/subscribe/events.py b/tests/wpt/tests/webdriver/tests/bidi/session/subscribe/events.py index f9d5d6bc21b..fcd325648c2 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/session/subscribe/events.py +++ b/tests/wpt/tests/webdriver/tests/bidi/session/subscribe/events.py @@ -5,7 +5,8 @@ import pytest @pytest.mark.asyncio -async def test_subscribe_to_module(bidi_session, subscribe_events, wait_for_event, wait_for_future_safe): +async def test_subscribe_to_module(bidi_session, subscribe_events, new_tab, + wait_for_event, wait_for_future_safe, inline): # Subscribe to all browsing context events await subscribe_events(events=["browsingContext"]) @@ -15,9 +16,6 @@ async def test_subscribe_to_module(bidi_session, subscribe_events, wait_for_even async def on_event(method, _): events.append(method) - remove_listener_contextCreated = bidi_session.add_event_listener( - "browsingContext.contextCreated", on_event - ) remove_listener_domContentLoaded = bidi_session.add_event_listener( "browsingContext.domContentLoaded", on_event ) @@ -26,23 +24,30 @@ async def test_subscribe_to_module(bidi_session, subscribe_events, wait_for_even ) # Wait for the last event - on_entry_added = wait_for_event("browsingContext.load") - await bidi_session.browsing_context.create(type_hint="tab") - await wait_for_future_safe(on_entry_added) + on_context_load = wait_for_event("browsingContext.load") + + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) + + await wait_for_future_safe(on_context_load) - assert len(events) == 3 + # 2 events are expected: + # * `browsingContext.domContentLoaded` + # * `browsingContext.load` + assert len(events) == 2 - remove_listener_contextCreated() remove_listener_domContentLoaded() remove_listener_load() @pytest.mark.asyncio async def test_subscribe_to_one_event_and_then_to_module( - bidi_session, subscribe_events, wait_for_event, wait_for_future_safe + bidi_session, subscribe_events, wait_for_event, wait_for_future_safe, + inline, new_tab ): # Subscribe to one event - await subscribe_events(events=["browsingContext.contextCreated"]) + await subscribe_events(events=["browsingContext.domContentLoaded"]) # Track all received browsing context events in the events array events = [] @@ -50,16 +55,18 @@ async def test_subscribe_to_one_event_and_then_to_module( async def on_event(method, data): events.append(method) - remove_listener_contextCreated = bidi_session.add_event_listener( - "browsingContext.contextCreated", on_event + remove_listener_domContentLoaded = bidi_session.add_event_listener( + "browsingContext.domContentLoaded", on_event ) - on_entry_added = wait_for_event("browsingContext.contextCreated") - await bidi_session.browsing_context.create(type_hint="tab") + on_entry_added = wait_for_event("browsingContext.domContentLoaded") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) await wait_for_future_safe(on_entry_added) assert len(events) == 1 - assert "browsingContext.contextCreated" in events + assert "browsingContext.domContentLoaded" in events # Subscribe to all browsing context events await subscribe_events(events=["browsingContext"]) @@ -67,29 +74,28 @@ async def test_subscribe_to_one_event_and_then_to_module( # Clean up the event list events = [] - remove_listener_domContentLoaded = bidi_session.add_event_listener( - "browsingContext.domContentLoaded", on_event - ) remove_listener_load = bidi_session.add_event_listener( "browsingContext.load", on_event ) # Wait for the last event on_entry_added = wait_for_event("browsingContext.load") - await bidi_session.browsing_context.create(type_hint="tab") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) await wait_for_future_safe(on_entry_added) # Make sure we didn't receive duplicates - assert len(events) == 3 + assert len(events) == 2 - remove_listener_contextCreated() remove_listener_domContentLoaded() remove_listener_load() @pytest.mark.asyncio async def test_subscribe_to_module_and_then_to_one_event_again( - bidi_session, subscribe_events, wait_for_event, wait_for_future_safe + bidi_session, subscribe_events, wait_for_event, wait_for_future_safe, + new_tab, inline ): # Subscribe to all browsing context events await subscribe_events(events=["browsingContext"]) @@ -100,9 +106,6 @@ async def test_subscribe_to_module_and_then_to_one_event_again( async def on_event(method, data): events.append(method) - remove_listener_contextCreated = bidi_session.add_event_listener( - "browsingContext.contextCreated", on_event - ) remove_listener_domContentLoaded = bidi_session.add_event_listener( "browsingContext.domContentLoaded", on_event ) @@ -112,25 +115,28 @@ async def test_subscribe_to_module_and_then_to_one_event_again( # Wait for the last event on_entry_added = wait_for_event("browsingContext.load") - await bidi_session.browsing_context.create(type_hint="tab") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) await wait_for_future_safe(on_entry_added) - assert len(events) == 3 + assert len(events) == 2 # Subscribe to one event again - await subscribe_events(events=["browsingContext.contextCreated"]) + await subscribe_events(events=["browsingContext.domContentLoaded"]) # Clean up the event list events = [] # Wait for the last event on_entry_added = wait_for_event("browsingContext.load") - await bidi_session.browsing_context.create(type_hint="tab") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) await wait_for_future_safe(on_entry_added) # Make sure we didn't receive duplicates - assert len(events) == 3 + assert len(events) == 2 - remove_listener_contextCreated() remove_listener_domContentLoaded() remove_listener_load() diff --git a/tests/wpt/tests/webdriver/tests/bidi/session/unsubscribe/events.py b/tests/wpt/tests/webdriver/tests/bidi/session/unsubscribe/events.py index bd7d0648470..ecf8364a455 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/session/unsubscribe/events.py +++ b/tests/wpt/tests/webdriver/tests/bidi/session/unsubscribe/events.py @@ -9,7 +9,7 @@ from tests.support.sync import AsyncPoll @pytest.mark.asyncio -async def test_unsubscribe_from_module(bidi_session): +async def test_unsubscribe_from_module(bidi_session, new_tab, inline): await bidi_session.session.subscribe(events=["browsingContext"]) await bidi_session.session.unsubscribe(events=["browsingContext"]) @@ -19,9 +19,6 @@ async def test_unsubscribe_from_module(bidi_session): async def on_event(method, data): events.append(data) - remove_listener_contextCreated = bidi_session.add_event_listener( - "browsingContext.contextCreated", on_event - ) remove_listener_domContentLoaded = bidi_session.add_event_listener( "browsingContext.domContentLoaded", on_event ) @@ -29,25 +26,27 @@ async def test_unsubscribe_from_module(bidi_session): "browsingContext.load", on_event ) - await bidi_session.browsing_context.create(type_hint="tab") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) wait = AsyncPoll(bidi_session, timeout=0.5) with pytest.raises(TimeoutException): await wait.until(lambda _: len(events) > 0) - remove_listener_contextCreated() remove_listener_domContentLoaded() remove_listener_load() @pytest.mark.asyncio async def test_subscribe_to_module_unsubscribe_from_one_event( - bidi_session, wait_for_event, wait_for_future_safe + bidi_session, wait_for_event, wait_for_future_safe, new_tab, inline ): await bidi_session.session.subscribe(events=["browsingContext"]) # Unsubscribe from one event - await bidi_session.session.unsubscribe(events=["browsingContext.domContentLoaded"]) + await bidi_session.session.unsubscribe( + events=["browsingContext.domContentLoaded"]) # Track all received browsing context events in the events array events = [] @@ -55,9 +54,6 @@ async def test_subscribe_to_module_unsubscribe_from_one_event( async def on_event(method, _): events.append(method) - remove_listener_contextCreated = bidi_session.add_event_listener( - "browsingContext.contextCreated", on_event - ) remove_listener_domContentLoaded = bidi_session.add_event_listener( "browsingContext.domContentLoaded", on_event ) @@ -67,17 +63,17 @@ async def test_subscribe_to_module_unsubscribe_from_one_event( # Wait for the last event on_entry_added = wait_for_event("browsingContext.load") - await bidi_session.browsing_context.create(type_hint="tab") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], url=inline("") + ) await wait_for_future_safe(on_entry_added) # Make sure we didn't receive browsingContext.domContentLoaded event - assert len(events) == 2 + assert len(events) == 1 assert "browsingContext.domContentLoaded" not in events - remove_listener_contextCreated() remove_listener_domContentLoaded() remove_listener_load() # Unsubscribe from the rest of the events - await bidi_session.session.unsubscribe(events=["browsingContext.contextCreated"]) await bidi_session.session.unsubscribe(events=["browsingContext.load"]) diff --git a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js index bb846a494eb..9b697878372 100644 --- a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js +++ b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constants.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + 'use strict'; test(function() { diff --git a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js index a015470cad6..01152165265 100644 --- a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js +++ b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + test(function() { assert_own_property(self, "DOMException", "property of global"); diff --git a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js index e9917af2287..c4ddabdafd4 100644 --- a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js +++ b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + 'use strict'; test(function() { diff --git a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js index cd4e5b63419..d1c86930d4c 100644 --- a/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js +++ b/tests/wpt/tests/webidl/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js @@ -1,3 +1,5 @@ +// META: global=window,dedicatedworker,shadowrealm + "use strict"; test(() => { diff --git a/tests/wpt/tests/webidl/idlharness-shadowrealm.window.js b/tests/wpt/tests/webidl/idlharness-shadowrealm.window.js index ab1ca9a0198..249d2960823 100644 --- a/tests/wpt/tests/webidl/idlharness-shadowrealm.window.js +++ b/tests/wpt/tests/webidl/idlharness-shadowrealm.window.js @@ -1,2 +1,13 @@ +// META: script=/resources/testharness-shadowrealm-outer.js // META: script=/resources/idlharness-shadowrealm.js -idl_test_shadowrealm(["webidl"], []); +idl_test_shadowrealm( + ["webidl"], + [], + idl_array => { + idl_array.add_objects({ + DOMException: ["new DOMException()", + 'new DOMException("my message")', + 'new DOMException("my message", "myName")'] + }); + } +); diff --git a/tests/wpt/tests/webnn/conformance_tests/dequantizeLinear.https.any.js b/tests/wpt/tests/webnn/conformance_tests/dequantizeLinear.https.any.js index 54940e3f482..5ac15593e4e 100644 --- a/tests/wpt/tests/webnn/conformance_tests/dequantizeLinear.https.any.js +++ b/tests/wpt/tests/webnn/conformance_tests/dequantizeLinear.https.any.js @@ -530,7 +530,52 @@ const dequantizeLinearTests = [ } } } - } + }, + { + 'name': 'per-tensor dequantizeLinear for int4 4D constant', + 'graph': { + 'inputs': { + 'dequantizeLinearInput': { + 'data': [0, -1, 10, -15], + 'descriptor': {shape: [1, 1, 2, 2], dataType: 'int4'}, + 'constant': true + }, + 'dequantizeLinearScale': { + 'data': [ + 1.1202747821807861, + -4.617084980010986, + 6.2405495643615723, + 3.841923713684082 + ], + 'descriptor': {shape: [2, 2], dataType: 'float32'}, + 'constant': true + }, + 'dequantizeLinearZeroPoint': { + 'data': [2, -3, -5, 4], + 'descriptor': {shape: [2, 2], dataType: 'int4'}, + 'constant': true + } + }, + 'operators': [{ + 'name': 'dequantizeLinear', + 'arguments': [ + {'input': 'dequantizeLinearInput'}, + {'scale': 'dequantizeLinearScale'}, + {'zeroPoint': 'dequantizeLinearZeroPoint'} + ], + 'outputs': 'dequantizeLinearOutput' + }], + 'expectedOutputs': { + 'dequantizeLinearOutput': { + 'data': [ + -2.2405495643615723, -9.234169960021973, -6.240549564361572, + -11.525771141052246 + ], + 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'} + } + } + } + }, ]; if (navigator.ml) { diff --git a/tests/wpt/tests/webnn/conformance_tests/gatherElements.https.any.js b/tests/wpt/tests/webnn/conformance_tests/gatherElements.https.any.js index a7bea51de13..39a30c10735 100644 --- a/tests/wpt/tests/webnn/conformance_tests/gatherElements.https.any.js +++ b/tests/wpt/tests/webnn/conformance_tests/gatherElements.https.any.js @@ -99,6 +99,80 @@ const gatherElementsTests = [ } } }, + , + { + 'name': 'gatherElements float32 2D input and int32 indices options.axis=0', + 'graph': { + 'inputs': { + 'gatherElementsInput': { + 'data': [ + -66.05901336669922, -68.9197006225586, -77.02045440673828, + -26.158037185668945, 89.0337142944336, -45.89653396606445, + 43.84803771972656, 48.81806945800781, 51.79948425292969 + ], + 'descriptor': {shape: [3, 3], dataType: 'float32'} + }, + 'gatherElementsIndices': { + 'data': [1, 0, 2, 2, 1, 0], + 'descriptor': {shape: [2, 3], dataType: 'int32'}, + 'constant': true + } + }, + 'operators': [{ + 'name': 'gatherElements', + 'arguments': [ + {'input': 'gatherElementsInput'}, + {'indices': 'gatherElementsIndices'}, {'options': {'axis': 0}} + ], + 'outputs': 'gatherElementsOutput' + }], + 'expectedOutputs': { + 'gatherElementsOutput': { + 'data': [ + -26.158037185668945, -68.9197006225586, 51.79948425292969, + 43.84803771972656, 89.0337142944336, -77.02045440673828 + ], + 'descriptor': {shape: [2, 3], dataType: 'float32'} + } + } + } + }, + { + 'name': 'gatherElements float32 3D input and int32 indices options.axis=0', + 'graph': { + 'inputs': { + 'gatherElementsInput': { + 'data': [ + -66.05901336669922, -68.9197006225586, -77.02045440673828, + -26.158037185668945, 89.0337142944336, -45.89653396606445, + 43.84803771972656, 48.81806945800781 + ], + 'descriptor': {shape: [2, 2, 2], dataType: 'float32'} + }, + 'gatherElementsIndices': { + 'data': [1, 0, 0, 1], + 'descriptor': {shape: [1, 2, 2], dataType: 'int32'}, + 'constant': true + } + }, + 'operators': [{ + 'name': 'gatherElements', + 'arguments': [ + {'input': 'gatherElementsInput'}, {'indices': 'gatherElementsIndices'} + ], + 'outputs': 'gatherElementsOutput' + }], + 'expectedOutputs': { + 'gatherElementsOutput': { + 'data': [ + 89.0337142944336, -68.9197006225586, -77.02045440673828, + 48.81806945800781 + ], + 'descriptor': {shape: [1, 2, 2], dataType: 'float32'} + } + } + } + }, { 'name': 'gatherElements float32 3D input and int32 negative indices', 'graph': { diff --git a/tests/wpt/tests/webnn/conformance_tests/quantizeLinear.https.any.js b/tests/wpt/tests/webnn/conformance_tests/quantizeLinear.https.any.js index 1e25d5b1368..804ca88ebba 100644 --- a/tests/wpt/tests/webnn/conformance_tests/quantizeLinear.https.any.js +++ b/tests/wpt/tests/webnn/conformance_tests/quantizeLinear.https.any.js @@ -186,6 +186,47 @@ const quantizeLinearTests = [ }, { 'name': + 'per-tensor quantizeLinear for float32 4D constant', + 'graph': { + 'inputs': { + 'quantizeLinearInput': { + 'data': [ + -2.549168109893799, -4.794857501983643, 8.413617134094238, + 6.108623504638672 + ], + 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}, + 'constant': true + }, + 'quantizeLinearScale': { + 'data': [0.2800687253475189, -4.617084980010986, 0.2800687253475189, + -4.617084980010986], + 'descriptor': {shape: [2, 2], dataType: 'float32'}, + 'constant': true + }, + 'quantizeLinearZeroPoint': { + 'data': [128, 128, 128, 128], + 'descriptor': {shape: [2, 2], dataType: 'uint8'}, + 'constant': true + } + }, + 'operators': [{ + 'name': 'quantizeLinear', + 'arguments': [ + {'input': 'quantizeLinearInput'}, {'scale': 'quantizeLinearScale'}, + {'zeroPoint': 'quantizeLinearZeroPoint'} + ], + 'outputs': 'quantizeLinearOutput' + }], + 'expectedOutputs': { + 'quantizeLinearOutput': { + 'data': [119, 129, 158, 127], + 'descriptor': {shape: [1, 1, 2, 2], dataType: 'uint8'} + } + } + } + }, + { + 'name': 'quantizeLinear float32 3D input with implicit block_size = [1, 2, 1].', 'graph': { 'inputs': { diff --git a/tests/wpt/tests/webnn/conformance_tests/reverse.https.any.js b/tests/wpt/tests/webnn/conformance_tests/reverse.https.any.js new file mode 100644 index 00000000000..5abc9a03b52 --- /dev/null +++ b/tests/wpt/tests/webnn/conformance_tests/reverse.https.any.js @@ -0,0 +1,158 @@ +// META: title=test WebNN API reverse operation +// META: global=window,dedicatedworker +// META: variant=?cpu +// META: variant=?gpu +// META: variant=?npu +// META: script=../resources/utils.js +// META: timeout=long + +'use strict'; + +// https://www.w3.org/TR/webnn/#api-mlgraphbuilder-reverse-method +// Reverse the order of the input tensor along specified axes. +// +// dictionary MLReverseOptions : MLOperatorOptions { +// sequence<[EnforceRange] unsigned long> axes; +// }; +// +// MLOperand reverse(MLOperand input, optional MLReverseOptions options = {}); + + +const reverseTests = [ + { + 'name': 'reverse float32 2D input with default options', + 'graph': { + 'inputs': { + 'reverseInput': { + 'data': [ + -30.0561466217041, 99.56941986083984, 88.04620361328125, + -91.87507629394531, -23.7972354888916, -91.28665161132812, + -63.15204620361328, 12.0669527053833, -96.1172866821289, + -44.77365493774414, -80.08650970458984, -64.43756866455078 + ], + 'descriptor': {shape: [3, 4], dataType: 'float32'} + } + }, + 'operators': [{ + 'name': 'reverse', + 'arguments': [{'input': 'reverseInput'}], + 'outputs': 'reverseOutput' + }], + 'expectedOutputs': { + 'reverseOutput': { + 'data': [ + -64.43756866455078, -80.08650970458984, -44.77365493774414, + -96.1172866821289, 12.0669527053833, -63.15204620361328, + -91.28665161132812, -23.7972354888916, -91.87507629394531, + 88.04620361328125, 99.56941986083984, -30.0561466217041 + ], + 'descriptor': {shape: [3, 4], dataType: 'float32'} + } + } + } + }, + { + 'name': 'reverse float32 3D input options.axes=[1, 2]', + 'graph': { + 'inputs': { + 'reverseInput': { + 'data': [ + -30.0561466217041, 99.56941986083984, 88.04620361328125, + -91.87507629394531, -23.7972354888916, -91.28665161132812, + -63.15204620361328, 12.0669527053833, -96.1172866821289, + -44.77365493774414, -80.08650970458984, -64.43756866455078 + ], + 'descriptor': {shape: [3, 2, 2], dataType: 'float32'} + } + }, + 'operators': [{ + 'name': 'reverse', + 'arguments': [{'input': 'reverseInput'}, {'options': {'axes': [1, 2]}}], + 'outputs': 'reverseOutput' + }], + 'expectedOutputs': { + 'reverseOutput': { + 'data': [ + -91.87507629394531, 88.04620361328125, 99.56941986083984, + -30.0561466217041, 12.0669527053833, -63.15204620361328, + -91.28665161132812, -23.7972354888916, -64.43756866455078, + -80.08650970458984, -44.77365493774414, -96.1172866821289 + ], + 'descriptor': {shape: [3, 2, 2], dataType: 'float32'} + } + } + } + }, + { + 'name': 'reverse float32 4D input options.axes=[3, 1]', + 'graph': { + 'inputs': { + 'reverseInput': { + 'data': [ + -30.0561466217041, 99.56941986083984, 88.04620361328125, + -91.87507629394531, -23.7972354888916, -91.28665161132812, + -63.15204620361328, 12.0669527053833, -96.1172866821289, + -44.77365493774414, -80.08650970458984, -64.43756866455078 + ], + 'descriptor': {shape: [3, 2, 1, 2], dataType: 'float32'} + } + }, + 'operators': [{ + 'name': 'reverse', + 'arguments': [{'input': 'reverseInput'}, {'options': {'axes': [3, 1]}}], + 'outputs': 'reverseOutput' + }], + 'expectedOutputs': { + 'reverseOutput': { + 'data': [ + -91.87507629394531, 88.04620361328125, 99.56941986083984, + -30.0561466217041, 12.0669527053833, -63.15204620361328, + -91.28665161132812, -23.7972354888916, -64.43756866455078, + -80.08650970458984, -44.77365493774414, -96.1172866821289 + ], + 'descriptor': {shape: [3, 2, 1, 2], dataType: 'float32'} + } + } + } + }, + { + 'name': 'reverse float32 4D input options.axes=[]', + 'graph': { + 'inputs': { + 'reverseInput': { + 'data': [ + -30.0561466217041, 99.56941986083984, 88.04620361328125, + -91.87507629394531, -23.7972354888916, -91.28665161132812, + -63.15204620361328, 12.0669527053833, -96.1172866821289, + -44.77365493774414, -80.08650970458984, -64.43756866455078 + ], + 'descriptor': {shape: [2, 1, 2, 3], dataType: 'float32'} + } + }, + 'operators': [{ + 'name': 'reverse', + 'arguments': [{'input': 'reverseInput'}, {'options': {'axes': []}}], + 'outputs': 'reverseOutput' + }], + 'expectedOutputs': { + 'reverseOutput': { + 'data': [ + -30.0561466217041, 99.56941986083984, 88.04620361328125, + -91.87507629394531, -23.7972354888916, -91.28665161132812, + -63.15204620361328, 12.0669527053833, -96.1172866821289, + -44.77365493774414, -80.08650970458984, -64.43756866455078 + ], + 'descriptor': {shape: [2, 1, 2, 3], dataType: 'float32'} + } + } + } + } +]; + +if (navigator.ml) { + reverseTests.forEach((test) => { + webnn_conformance_test(buildAndExecuteGraph, getPrecisionTolerance, test); + }); +} else { + test(() => assert_implements(navigator.ml, 'missing navigator.ml')); +} diff --git a/tests/wpt/tests/webnn/validation_tests/reverse.https.any.js b/tests/wpt/tests/webnn/validation_tests/reverse.https.any.js new file mode 100644 index 00000000000..bee8f2c63de --- /dev/null +++ b/tests/wpt/tests/webnn/validation_tests/reverse.https.any.js @@ -0,0 +1,59 @@ +// META: title=validation tests for WebNN API reverse operation +// META: global=window,dedicatedworker +// META: variant=?cpu +// META: variant=?gpu +// META: variant=?npu +// META: script=../resources/utils_validation.js + +'use strict'; + +const tests = [ + { + name: '[reverse] Test reverse with default options', + input: {dataType: 'float32', shape: [3, 3]}, + output: {dataType: 'float32', shape: [3, 3]} + }, + { + name: '[reverse] Test reverse with axes = [0, 1]', + input: {dataType: 'int32', shape: [1, 2, 3]}, + axes: [0, 1], + output: {dataType: 'int32', shape: [1, 2, 3]} + }, + { + name: '[reverse] Throw if axes is greater than input rank', + input: {dataType: 'float32', shape: [3, 3]}, + axes: [3] + }, + { + name: '[reverse] Throw if axes is duplicated', + input: {dataType: 'float32', shape: [1, 2, 3, 4]}, + axes: [2, 2, 3] + } +]; + +tests.forEach(test => promise_test(async t => { + const builder = new MLGraphBuilder(context); + const input = builder.input('input', test.input); + const options = {}; + if (test.axes) { + options.axes = test.axes; + } + + if (test.output) { + const output = builder.reverse(input, options); + assert_equals(output.dataType, test.output.dataType); + assert_array_equals(output.shape, test.output.shape); + } else { + const label = 'reverse_1' + options.label = label; + const regexp = new RegExp('\\[' + label + '\\]'); + assert_throws_with_label( + () => builder.reverse(input, options), regexp); + } + }, test.name)); + +multi_builder_test(async (t, builder, otherBuilder) => { + const input = + otherBuilder.input('input', {dataType: 'float32', shape: [3, 3]}); + assert_throws_js(TypeError, () => builder.reverse(input)); +}, '[reverse] Throw if input is from another builder'); diff --git a/tests/wpt/tests/webrtc/simulcast/basic.https.html b/tests/wpt/tests/webrtc/simulcast/basic.https.html index f7b9def7622..46c0969a405 100644 --- a/tests/wpt/tests/webrtc/simulcast/basic.https.html +++ b/tests/wpt/tests/webrtc/simulcast/basic.https.html @@ -18,6 +18,6 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - return negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2); + await negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2); }, 'Basic simulcast setup with two spatial layers'); </script> diff --git a/tests/wpt/tests/webrtc/simulcast/getStats.https.html b/tests/wpt/tests/webrtc/simulcast/getStats.https.html index b5a9e6eb283..91d9ab00d87 100644 --- a/tests/wpt/tests/webrtc/simulcast/getStats.https.html +++ b/tests/wpt/tests/webrtc/simulcast/getStats.https.html @@ -18,7 +18,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - await negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2); + await negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2); const outboundStats = []; const senderStats = await pc1.getSenders()[0].getStats(); diff --git a/tests/wpt/tests/webrtc/simulcast/h264.https.html b/tests/wpt/tests/webrtc/simulcast/h264.https.html index 038449aa6e7..2d27b963a69 100644 --- a/tests/wpt/tests/webrtc/simulcast/h264.https.html +++ b/tests/wpt/tests/webrtc/simulcast/h264.https.html @@ -26,6 +26,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - return negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2, {mimeType: 'video/H264'}); + await negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2, + {mimeType: 'video/H264'}); }, 'H264 simulcast setup with two streams'); </script> diff --git a/tests/wpt/tests/webrtc/simulcast/screenshare.https.html b/tests/wpt/tests/webrtc/simulcast/screenshare.https.html new file mode 100644 index 00000000000..5a40d8cba48 --- /dev/null +++ b/tests/wpt/tests/webrtc/simulcast/screenshare.https.html @@ -0,0 +1,28 @@ +<!doctype html> +<meta charset=utf-8> +<title>RTCPeerConnection Screen-sharing Simulcast Tests</title> +<meta name="timeout" content="long"> +<script src="../third_party/sdp/sdp.js"></script> +<script src="simulcast.js"></script> +<script src="../RTCPeerConnection-helper.js"></script> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script> +promise_test(async t => { + // Test getDisplayMedia with simulcast + await test_driver.bless('getDisplayMedia'); + const stream = await navigator.mediaDevices.getDisplayMedia({ + video: {width: 1280, height: 720} + }); + t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); + const rids = [0, 1]; + const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); + const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + + return negotiateSimulcastAndWaitForVideo(t, stream, rids, pc1, pc2); +}, 'Basic simulcast setup with two spatial layers'); +</script> diff --git a/tests/wpt/tests/webrtc/simulcast/setParameters-active.https.html b/tests/wpt/tests/webrtc/simulcast/setParameters-active.https.html index 54191059a06..894014b1912 100644 --- a/tests/wpt/tests/webrtc/simulcast/setParameters-active.https.html +++ b/tests/wpt/tests/webrtc/simulcast/setParameters-active.https.html @@ -33,7 +33,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - await negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2); + await negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2); // Deactivate first sender. const parameters = pc1.getSenders()[0].getParameters(); @@ -58,7 +58,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - await negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2); + await negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2); // Deactivate second sender. const parameters = pc1.getSenders()[0].getParameters(); @@ -83,7 +83,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - await negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2); + await negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2); // Deactivate all senders. const parameters = pc1.getSenders()[0].getParameters(); diff --git a/tests/wpt/tests/webrtc/simulcast/simulcast.js b/tests/wpt/tests/webrtc/simulcast/simulcast.js index e0b90d8ac37..4d0da093f45 100644 --- a/tests/wpt/tests/webrtc/simulcast/simulcast.js +++ b/tests/wpt/tests/webrtc/simulcast/simulcast.js @@ -220,7 +220,7 @@ function swapRidAndMidExtensionsInSimulcastAnswer(answer, localDescription, rids } async function negotiateSimulcastAndWaitForVideo( - t, rids, pc1, pc2, codec, scalabilityMode = undefined) { + t, stream, rids, pc1, pc2, codec, scalabilityMode = undefined) { exchangeIceCandidates(pc1, pc2); const metadataToBeLoaded = []; @@ -251,10 +251,6 @@ async function negotiateSimulcastAndWaitForVideo( scaleResolutionDownBy *= 2; } - // Use getUserMedia as getNoiseStream does not have enough entropy to ramp-up. - await setMediaPermission(); - const stream = await navigator.mediaDevices.getUserMedia({video: {width: 1280, height: 720}}); - t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); const transceiver = pc1.addTransceiver(stream.getVideoTracks()[0], { streams: [stream], sendEncodings: sendEncodings, @@ -278,3 +274,11 @@ async function negotiateSimulcastAndWaitForVideo( assert_equals(metadataToBeLoaded.length, rids.length); return Promise.all(metadataToBeLoaded); } + +async function getCameraStream(t) { + // Use getUserMedia as getNoiseStream does not have enough entropy to ramp-up. + await setMediaPermission(); + const stream = await navigator.mediaDevices.getUserMedia({video: {width: 1280, height: 720}}); + t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); + return stream; +} diff --git a/tests/wpt/tests/webrtc/simulcast/vp8.https.html b/tests/wpt/tests/webrtc/simulcast/vp8.https.html index 3d04bc71726..9e0a8085df2 100644 --- a/tests/wpt/tests/webrtc/simulcast/vp8.https.html +++ b/tests/wpt/tests/webrtc/simulcast/vp8.https.html @@ -21,6 +21,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - return negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2, {mimeType: 'video/VP8'}); + return negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2, + {mimeType: 'video/VP8'}); }, 'VP8 simulcast setup with two streams'); </script> diff --git a/tests/wpt/tests/webrtc/simulcast/vp9-scalability-mode.https.html b/tests/wpt/tests/webrtc/simulcast/vp9-scalability-mode.https.html index 8d8f974fcdc..1c2d48c5dc4 100644 --- a/tests/wpt/tests/webrtc/simulcast/vp9-scalability-mode.https.html +++ b/tests/wpt/tests/webrtc/simulcast/vp9-scalability-mode.https.html @@ -23,13 +23,14 @@ promise_test(async t => { // This is not a scalability mode test (see wpt/webrtc-svc/ for those) but a // VP9 simulcast test. Setting `scalabilityMode` should not be needed, however - // many browsers interprets multiple VP9 encodings to mean multiple spatial + // some browsers interpret multiple VP9 encodings to mean multiple spatial // layers by default. During a transition period, Chromium-based browsers // requires explicitly specifying the scalability mode as a way to opt-in to // spec-compliant simulcast. See also wpt/webrtc/simulcast/vp9.https.html for // a version of this test that does not set the scalability mode. const scalabilityMode = 'L1T2'; return negotiateSimulcastAndWaitForVideo( - t, rids, pc1, pc2, {mimeType: 'video/VP9'}, scalabilityMode); + t, await getCameraStream(t), rids, pc1, pc2, {mimeType: 'video/VP9'}, + scalabilityMode); }, 'VP9 simulcast setup with two streams and L1T2 set'); </script> diff --git a/tests/wpt/tests/webrtc/simulcast/vp9.https.html b/tests/wpt/tests/webrtc/simulcast/vp9.https.html index a033dab4779..d366120b6e8 100644 --- a/tests/wpt/tests/webrtc/simulcast/vp9.https.html +++ b/tests/wpt/tests/webrtc/simulcast/vp9.https.html @@ -21,6 +21,7 @@ promise_test(async t => { const pc2 = new RTCPeerConnection(); t.add_cleanup(() => pc2.close()); - return negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2, {mimeType: 'video/VP9'}); + return negotiateSimulcastAndWaitForVideo(t, await getCameraStream(t), rids, pc1, pc2, + {mimeType: 'video/VP9'}); }, 'VP9 simulcast setup with two streams'); </script> diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation-worker.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation-worker.html.ini index ee357efcfda..2ab0fabddae 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation-worker.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation-worker.html.ini @@ -1,3 +1,4 @@ [context-creation-worker.html] + expected: ERROR [WebGL test #0: Some tests failed] expected: FAIL diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation.html.ini index a96eefc2051..acc65e83166 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/context-creation.html.ini @@ -1,4 +1,7 @@ [context-creation.html] + expected: ERROR [WebGL test #0: WebGL context creation failed] expected: FAIL + [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods-worker.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods-worker.html.ini index 9e9e93032ca..bfddcc0627d 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods-worker.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods-worker.html.ini @@ -1,4 +1,4 @@ [methods-worker.html] + expected: ERROR [WebGL test #0: Some tests failed] expected: FAIL - diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods.html.ini index 56c64a49d8e..8fb38b1904a 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance/offscreencanvas/methods.html.ini @@ -1,4 +1,7 @@ [methods.html] + expected: ERROR [WebGL test #0: Some WebGL methods not found] expected: FAIL + [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/context-creation.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/context-creation.html.ini index c6895c973cc..bb11cb3fbd0 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/context-creation.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/context-creation.html.ini @@ -1,4 +1,7 @@ [context-creation.html] + expected: ERROR [WebGL test #0: WebGL2 context creation failed] expected: FAIL + [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2-worker.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2-worker.html.ini index 9ec07aa9bdd..996889b6d2d 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2-worker.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2-worker.html.ini @@ -1,4 +1,4 @@ [methods-2-worker.html] + expected: ERROR [WebGL test #0: Some tests failed] expected: FAIL - diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2.html.ini index d49a3a486e5..a7eb7244f59 100644 --- a/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2.html.ini +++ b/tests/wpt/webgl/meta-legacy-layout/conformance2/offscreencanvas/methods-2.html.ini @@ -1,4 +1,7 @@ [methods-2.html] + expected: ERROR [WebGL test #0: Some WebGL2 methods not found] expected: FAIL + [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL |