mirror of
https://github.com/servo/servo.git
synced 2025-08-10 16:05:43 +01:00
Update web-platform-tests to revision acdb8bf3e4714528b6b5f9ff038dc80ee4fb7dcf
This commit is contained in:
parent
56a7981c9c
commit
93b883e1db
27 changed files with 1021 additions and 165 deletions
|
@ -7,8 +7,8 @@
|
|||
var invalidLabel = "invalid-invalidLabel"
|
||||
|
||||
test(function() {
|
||||
assert_throws({name: 'RangeError'}, function() { new TextEncoder(invalidLabel); });
|
||||
assert_throws({name: 'RangeError'}, function() { new TextDecoder(invalidLabel); });
|
||||
assert_throws(new RangeError(), function() { new TextEncoder(invalidLabel); });
|
||||
assert_throws(new RangeError(), function() { new TextDecoder(invalidLabel); });
|
||||
}, 'Invalid label "' + invalidLabel + '" should be rejected by API.');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<script>
|
||||
|
||||
test(function() {
|
||||
assert_throws({name: 'RangeError'}, function() { new TextEncoder('replacement'); });
|
||||
assert_throws({name: 'RangeError'}, function() { new TextDecoder('replacement'); });
|
||||
assert_throws(new RangeError(), function() { new TextEncoder('replacement'); });
|
||||
assert_throws(new RangeError(), function() { new TextDecoder('replacement'); });
|
||||
}, 'The "replacement" label should not be a known encoding.');
|
||||
|
||||
encodings_table.forEach(function(section) {
|
||||
|
@ -16,8 +16,8 @@ encodings_table.forEach(function(section) {
|
|||
}).forEach(function(encoding) {
|
||||
encoding.labels.forEach(function(label) {
|
||||
test(function() {
|
||||
assert_throws({name: 'RangeError'}, function() { new TextEncoder(label); });
|
||||
assert_throws({name: 'RangeError'}, function() { new TextDecoder(label); });
|
||||
assert_throws(new RangeError(), function() { new TextEncoder(label); });
|
||||
assert_throws(new RangeError(), function() { new TextDecoder(label); });
|
||||
}, 'Label for "replacement" should be rejected by API: ' + label);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -4,22 +4,33 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/encodings.js"></script>
|
||||
<script>
|
||||
|
||||
encodings_table.forEach(function(section) {
|
||||
var tests = [];
|
||||
setup(function() {
|
||||
var whitespace = [' ', '\t', '\n', '\f', '\r'];
|
||||
encodings_table.forEach(function(section) {
|
||||
section.encodings.filter(function(encoding) {
|
||||
return encoding.name !== 'replacement';
|
||||
return encoding.name !== 'replacement';
|
||||
}).forEach(function(encoding) {
|
||||
var name = encoding.name;
|
||||
encoding.labels.forEach(function(label) {
|
||||
test(function(){
|
||||
assert_equals(new TextDecoder(label).encoding, encoding.name,
|
||||
'label for encoding should match');
|
||||
assert_equals(new TextDecoder(label.toUpperCase()).encoding,
|
||||
encoding.name,
|
||||
'label matching should be case-insensitive');
|
||||
}, 'name=' + name + ' label=' + label);
|
||||
var name = encoding.name;
|
||||
encoding.labels.forEach(function(label) {
|
||||
tests.push([label, encoding.name]);
|
||||
whitespace.forEach(function(ws) {
|
||||
tests.push([ws + label, encoding.name]);
|
||||
tests.push([label + ws, encoding.name]);
|
||||
tests.push([ws + label + ws, encoding.name]);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
tests.forEach(function(t) {
|
||||
var input = t[0], output = t[1];
|
||||
test(function() {
|
||||
assert_equals(new TextDecoder(input).encoding, output,
|
||||
'label for encoding should match');
|
||||
assert_equals(new TextDecoder(input.toUpperCase()).encoding, output,
|
||||
'label matching should be case-insensitive');
|
||||
}, format_value(input) + " => " + format_value(output));
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -17,7 +17,7 @@ encodings_table.forEach(function(section) {
|
|||
} else {
|
||||
test(function() {
|
||||
assert_equals(new TextDecoder(encoding.name).encoding, encoding.name);
|
||||
assert_throws({name: 'RangeError'}, function() { new TextEncoder(encoding.name); });
|
||||
assert_throws(new RangeError(), function() { new TextEncoder(encoding.name); });
|
||||
}, 'Non-UTF encodings supported only for decode, not encode: ' + encoding.name);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue