| Joshua Bell | 7f567fa | 2015-01-13 17:46:57 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | <title>Encoding API: Encoding labels</title> |
| 3 | <script src="/resources/testharness.js"></script> |
| 4 | <script src="/resources/testharnessreport.js"></script> |
| 5 | <script src="resources/encodings.js"></script> |
| 6 | <script> |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 7 | var tests = []; |
| 8 | setup(function() { |
| Ms2ger | 1453630 | 2015-04-21 17:31:59 | [diff] [blame] | 9 | var whitespace = [' ', '\t', '\n', '\f', '\r']; |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 10 | encodings_table.forEach(function(section) { |
| Joshua Bell | 7f567fa | 2015-01-13 17:46:57 | [diff] [blame] | 11 | section.encodings.filter(function(encoding) { |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 12 | return encoding.name !== 'replacement'; |
| Joshua Bell | 7f567fa | 2015-01-13 17:46:57 | [diff] [blame] | 13 | }).forEach(function(encoding) { |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 14 | var name = encoding.name; |
| 15 | encoding.labels.forEach(function(label) { |
| 16 | tests.push([label, encoding.name]); |
| Ms2ger | 1453630 | 2015-04-21 17:31:59 | [diff] [blame] | 17 | whitespace.forEach(function(ws) { |
| 18 | tests.push([ws + label, encoding.name]); |
| 19 | tests.push([label + ws, encoding.name]); |
| 20 | tests.push([ws + label + ws, encoding.name]); |
| 21 | }); |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 22 | }); |
| Joshua Bell | 7f567fa | 2015-01-13 17:46:57 | [diff] [blame] | 23 | }); |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 24 | }); |
| Joshua Bell | 7f567fa | 2015-01-13 17:46:57 | [diff] [blame] | 25 | }); |
| 26 | |
| Ms2ger | 82514f1 | 2015-04-21 17:25:06 | [diff] [blame] | 27 | tests.forEach(function(t) { |
| 28 | var input = t[0], output = t[1]; |
| 29 | test(function() { |
| 30 | assert_equals(new TextDecoder(input).encoding, output, |
| 31 | 'label for encoding should match'); |
| 32 | assert_equals(new TextDecoder(input.toUpperCase()).encoding, output, |
| 33 | 'label matching should be case-insensitive'); |
| 34 | }, format_value(input) + " => " + format_value(output)); |
| 35 | }); |
| Joshua Bell | 7f567fa | 2015-01-13 17:46:57 | [diff] [blame] | 36 | </script> |