mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision ee82278e15570e573d87fb80179ff8231b6db61a
This commit is contained in:
parent
d23bc4f1a4
commit
83e2dc11b0
278 changed files with 13348 additions and 10515 deletions
|
@ -0,0 +1,57 @@
|
|||
// These are defined by the test:
|
||||
// errors (boolean)
|
||||
// encoder (function)
|
||||
// ranges (array)
|
||||
// expect (function)
|
||||
|
||||
function encode(input, expected, desc) {
|
||||
// tests whether a Unicode character is converted to an equivalent byte sequence by href
|
||||
// input: a Unicode character
|
||||
// expected: expected byte sequence
|
||||
// desc: what's being tested
|
||||
subsetTest(test, function() {
|
||||
var a = document.createElement("a"); // <a> uses document encoding for URL's query
|
||||
a.href = "https://example.com/?" + input;
|
||||
result = a.search.substr(1); // remove leading "?"
|
||||
assert_equals(normalizeStr(result), normalizeStr(expected));
|
||||
}, desc);
|
||||
}
|
||||
|
||||
// set up a simple array of unicode codepoints that are not encoded
|
||||
var codepoints = [];
|
||||
|
||||
for (var range of ranges) {
|
||||
for (var i = range[0]; i < range[1]; i++) {
|
||||
result = encoder(String.fromCodePoint(i));
|
||||
var success = !!result;
|
||||
if (errors) {
|
||||
success = !success;
|
||||
}
|
||||
if (success) {
|
||||
var item = {};
|
||||
codepoints.push(item);
|
||||
item.cp = i;
|
||||
item.expected = expect(result, i);
|
||||
item.desc = range[2] ? range[2] + " " : "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// run the tests
|
||||
for (var x = 0; x < codepoints.length; x++) {
|
||||
encode(
|
||||
String.fromCodePoint(codepoints[x].cp),
|
||||
codepoints[x].expected,
|
||||
codepoints[x].desc +
|
||||
" U+" +
|
||||
codepoints[x].cp.toString(16).toUpperCase() +
|
||||
" " +
|
||||
String.fromCodePoint(codepoints[x].cp) +
|
||||
" " +
|
||||
codepoints[x].expected
|
||||
);
|
||||
}
|
||||
|
||||
// NOTES
|
||||
// this test relies on support for String.fromCodePoint, which appears to be supported by major desktop browsers
|
||||
// the tests exclude ASCII characters
|
Loading…
Add table
Add a link
Reference in a new issue