Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: LayoutTests/fast/encoding/api/surrogate-pairs.html

Issue 23601010: Make UTF-8 encoding of unpaired surrogates match Encoding standard (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased test results Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/fast/encoding/api/surrogate-pairs-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../../js/resources/js-test-pre.js"></script> 2 <script src="../../js/resources/js-test-pre.js"></script>
3 <script> 3 <script>
4 4
5 description("Test invalid UTF-16 surrogate pairs with UTF-8 encoding"); 5 description("Test invalid UTF-16 surrogate pairs with UTF-8 encoding");
6 6
7 var badStrings = [ 7 var badStrings = [
8 { input: 'abc123', expected: 'abc123' }, // Sanity check. 8 { input: "'abc123'", expected: [97, 98, 99, 49, 50, 51] }, // Sanity check.
9 { input: '\ud800', expected: '\ufffd' }, // Surrogate half. 9 { input: "'\\ud800'", expected: [0xef, 0xbf, 0xbd] }, // Surrogate half.
10 { input: '\udc00', expected: '\ufffd' }, // Surrogate half. 10 { input: "'\\udc00'", expected: [0xef, 0xbf, 0xbd] }, // Surrogate half.
11 { input: 'abc\ud800def', expected: 'abc\ufffddef' }, // Surrogate half. 11 { input: "'abc\\ud800123'", expected: [0x61, 0x62, 0x63, 0xef, 0xbf, 0xbd, 0 x31, 0x32, 0x33] }, // Surrogate half.
12 { input: 'abc\udc00def', expected: 'abc\ufffddef' }, // Surrogate half. 12 { input: "'abc\\udc00123'", expected: [0x61, 0x62, 0x63, 0xef, 0xbf, 0xbd, 0 x31, 0x32, 0x33] }, // Surrogate half.
13 { input: '\udc00\ud800', expected: '\ufffd\ufffd' } // Wrong order. 13 { input: "'\\udc00\\ud800'", expected: [239, 191, 189, 239, 191, 189] } // Wrong order.
14 ]; 14 ];
15 15
16 badStrings.forEach( 16 badStrings.forEach(
17 function(t) { 17 function(t) {
18 evalAndLog("encoded = new TextEncoder('utf-8').encode(" + JSON.stringify (t.input) + ")"); 18 evalAndLog("encoded = new TextEncoder('utf-8').encode(" + t.input + ")") ;
19 evalAndLog("decoded = new TextDecoder('utf-8').decode(encoded)"); 19 shouldBeEqualToString("JSON.stringify([].slice.call(encoded))", JSON.str ingify(t.expected));
20 shouldBeEqualToString("decoded", t.expected);
21 debug(""); 20 debug("");
22 }); 21 });
23 22
24 </script> 23 </script>
25 <script src="../../js/resources/js-test-post.js"></script> 24 <script src="../../js/resources/js-test-post.js"></script>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/encoding/api/surrogate-pairs-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698