| OLD | NEW |
| 1 B<!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../../../resources/js-test.js"></script> | 2 <title>Encoding API: Latin-1 decoders</title> |
| 3 <script src="../../../resources/testharness.js"></script> |
| 4 <script src="../../../resources/testharnessreport.js"></script> |
| 3 <script src="resources/shared.js"></script> | 5 <script src="resources/shared.js"></script> |
| 4 <script> | 6 <script> |
| 5 | 7 |
| 6 description("Verify that Latin-1 decoders (windows-1252, iso-8859-1, us-ascii, e
tc) decode identically."); | |
| 7 | |
| 8 // Blink uses separate decoder object intances for these encoding aliases, | 8 // Blink uses separate decoder object intances for these encoding aliases, |
| 9 // so test that they are behaving identically. | 9 // so test that they are behaving identically. |
| 10 | 10 |
| 11 var labels; | 11 test(function() { |
| 12 encodings_table.forEach(function(section) { | 12 |
| 13 section.encodings.forEach(function(encoding) { | 13 var labels; |
| 14 if (encoding.name === "windows-1252") | 14 encodings_table.forEach(function(section) { |
| 15 labels = encoding.labels; | 15 section.encodings.forEach(function(encoding) { |
| 16 if (encoding.name === 'windows-1252') |
| 17 labels = encoding.labels; |
| 18 }); |
| 16 }); | 19 }); |
| 17 }); | 20 labels = labels.filter(function(label) { return label !== 'windows-1252'; })
; |
| 18 labels = labels.filter(function(label) { return label !== 'windows-1252'; }); | |
| 19 | 21 |
| 20 evalAndLog("array = new Uint8Array(256)"); | 22 var array = new Uint8Array(256); |
| 21 debug("initialize array to 0...255"); | 23 for (var cp = 0; cp <= 255; ++cp) { |
| 22 for (var cp = 0; cp <= 255; ++cp) { | 24 array[cp] = cp; |
| 23 array[cp] = cp; | 25 } |
| 24 } | |
| 25 | 26 |
| 26 evalAndLog("windows1252 = new TextDecoder('windows-1252')"); | 27 var windows1252 = new TextDecoder('windows-1252'); |
| 27 | 28 |
| 28 labels.forEach(function(label) { | 29 labels.forEach(function(label) { |
| 29 decoder = null; | 30 var decoder = new TextDecoder(label); |
| 30 evalAndLog("decoder = new TextDecoder(" + JSON.stringify(label) + ")"); | 31 assert_equals(decoder.decode(array), windows1252.decode(array)); |
| 31 // Above may throw if encoding unsupported. | 32 }); |
| 32 if (decoder) { | 33 |
| 33 shouldBe("decoder.decode(array)", "windows1252.decode(array)"); | 34 }, 'Latin-1 decoders (windows-1252, iso-8859-1, us-ascii, etc) decode identicall
y.'); |
| 34 } | |
| 35 }); | |
| 36 | 35 |
| 37 </script> | 36 </script> |
| OLD | NEW |