<!DOCTYPE html>
<title>Encoding API: Invalid UTF-16 surrogates with UTF-8 encoding</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>

var badStrings = [
    {
        input: 'abc123',
        expected: [0x61, 0x62, 0x63, 0x31, 0x32, 0x33],
        decoded: 'abc123',
        name: 'Sanity check'
    },
    {
        input: '\uD800',
        expected: [0xef, 0xbf, 0xbd],
        decoded: '\uFFFD',
        name: 'Surrogate half (low)'
    },
    {
        input: '\uDC00',
        expected: [0xef, 0xbf, 0xbd],
        decoded: '\uFFFD',
        name: 'Surrogate half (high)'
    },
    {
        input: 'abc\uD800123',
        expected: [0x61, 0x62, 0x63, 0xef, 0xbf, 0xbd, 0x31, 0x32, 0x33],
        decoded: 'abc\uFFFD123',
        name: 'Surrogate half (low), in a string'
    },
    {
        input: 'abc\uDC00123',
        expected: [0x61, 0x62, 0x63, 0xef, 0xbf, 0xbd, 0x31, 0x32, 0x33],
        decoded: 'abc\uFFFD123',
        name: 'Surrogate half (high), in a string'
    },
    {
        input: '\uDC00\uD800',
        expected: [0xef, 0xbf, 0xbd, 0xef, 0xbf, 0xbd],
        decoded: '\uFFFD\uFFFD',
        name: 'Wrong order'
    }
];

badStrings.forEach(function(t) {
    test(function() {
        var encoded = new TextEncoder('utf-8').encode(t.input);
        assert_array_equals([].slice.call(encoded), t.expected);
        assert_equals(new TextDecoder('utf-8').decode(encoded), t.decoded);
    }, 'Invalid surrogates encoded into UTF-8: ' + t.name);
});

</script>
