OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Encoding API: TextDecoder ignoreBOM option</title> | 2 <title>Encoding API: TextDecoder ignoreBOM option</title> |
3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
5 <script> | 5 <script> |
6 | 6 |
7 var cases = [ | 7 var cases = [ |
8 {encoding: 'utf-8', bytes: [0xEF, 0xBB, 0xBF, 0x61, 0x62, 0x63]}, | 8 {encoding: 'utf-8', bytes: [0xEF, 0xBB, 0xBF, 0x61, 0x62, 0x63]}, |
9 {encoding: 'utf-16le', bytes: [0xFF, 0xFE, 0x61, 0x00, 0x62, 0x00, 0x63, 0x0
0]}, | 9 {encoding: 'utf-16le', bytes: [0xFF, 0xFE, 0x61, 0x00, 0x62, 0x00, 0x63, 0x0
0]}, |
10 {encoding: 'utf-16be', bytes: [0xFE, 0xFF, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6
3]} | 10 {encoding: 'utf-16be', bytes: [0xFE, 0xFF, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6
3]} |
(...skipping 16 matching lines...) Expand all Loading... |
27 testCase.encoding + ': BOM should be absent from decoded string if n
ot ignored'); | 27 testCase.encoding + ': BOM should be absent from decoded string if n
ot ignored'); |
28 | 28 |
29 decoder = new TextDecoder(testCase.encoding); | 29 decoder = new TextDecoder(testCase.encoding); |
30 assert_equals( | 30 assert_equals( |
31 decoder.decode(bytes), | 31 decoder.decode(bytes), |
32 'abc', | 32 'abc', |
33 testCase.encoding + ': BOM should be absent from decoded string by d
efault'); | 33 testCase.encoding + ': BOM should be absent from decoded string by d
efault'); |
34 }, 'BOM is ignored if ignoreBOM option is specified: ' + testCase.encoding); | 34 }, 'BOM is ignored if ignoreBOM option is specified: ' + testCase.encoding); |
35 }); | 35 }); |
36 | 36 |
| 37 test(function() { |
| 38 assert_true('ignoreBOM' in new TextDecoder(), 'The ignoreBOM attribute shoul
d exist on TextDecoder.'); |
| 39 assert_equals(typeof new TextDecoder().ignoreBOM, 'boolean', 'The type of t
he ignoreBOM attribute should be boolean.'); |
| 40 assert_false(new TextDecoder().ignoreBOM, 'The ignoreBOM attribute should de
fault to false.'); |
| 41 assert_true(new TextDecoder('utf-8', {ignoreBOM: true}).ignoreBOM, 'The igno
reBOM attribute can be set using an option.'); |
| 42 |
| 43 }, 'The ignoreBOM attribute of TextDecoder'); |
| 44 |
37 </script> | 45 </script> |
OLD | NEW |