Automatic update from web-platform-tests Remove ShadowRealm test coverage This intentionally does not make infrastructure or documentation changes, but without implementer support all the ShadowRealm tests add significant noise. Once there is implementer support this can be reverted. -- wpt-commits: e4a4672e9e607fc2b28e7173b83ce4e38ef53071 wpt-pr: 59794
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
// META: global=window,dedicatedworker
|
|
// META: title=Encoding API: USVString surrogate handling when encoding
|
|
|
|
var bad = [
|
|
{
|
|
input: '\uD800',
|
|
expected: '\uFFFD',
|
|
name: 'lone surrogate lead'
|
|
},
|
|
{
|
|
input: '\uDC00',
|
|
expected: '\uFFFD',
|
|
name: 'lone surrogate trail'
|
|
},
|
|
{
|
|
input: '\uD800\u0000',
|
|
expected: '\uFFFD\u0000',
|
|
name: 'unmatched surrogate lead'
|
|
},
|
|
{
|
|
input: '\uDC00\u0000',
|
|
expected: '\uFFFD\u0000',
|
|
name: 'unmatched surrogate trail'
|
|
},
|
|
{
|
|
input: '\uDC00\uD800',
|
|
expected: '\uFFFD\uFFFD',
|
|
name: 'swapped surrogate pair'
|
|
},
|
|
{
|
|
input: '\uD834\uDD1E',
|
|
expected: '\uD834\uDD1E',
|
|
name: 'properly encoded MUSICAL SYMBOL G CLEF (U+1D11E)'
|
|
}
|
|
];
|
|
|
|
bad.forEach(function(t) {
|
|
test(function() {
|
|
var encoded = new TextEncoder().encode(t.input);
|
|
var decoded = new TextDecoder().decode(encoded);
|
|
assert_equals(decoded, t.expected);
|
|
}, 'USVString handling: ' + t.name);
|
|
});
|
|
|
|
test(function() {
|
|
assert_equals(new TextEncoder().encode().length, 0, 'Should default to empty string');
|
|
}, 'USVString default');
|