Update web-platform-tests to revision acdb8bf3e4714528b6b5f9ff038dc80ee4fb7dcf

This commit is contained in:
Ms2ger 2015-04-27 00:43:52 +02:00
parent 56a7981c9c
commit 93b883e1db
27 changed files with 1021 additions and 165 deletions

View file

@ -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>

View file

@ -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);
});
});

View file

@ -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>

View file

@ -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);
}
});