mirror of
https://github.com/servo/servo.git
synced 2025-08-23 14:25:33 +01:00
Update web-platform-tests to revision a46616a5b18e83587ddbbed756c7b96cbb4b015d
This commit is contained in:
parent
3f07cfec7c
commit
578498ba24
4001 changed files with 159517 additions and 30260 deletions
62
tests/wpt/web-platform-tests/url/toascii.window.js
Normal file
62
tests/wpt/web-platform-tests/url/toascii.window.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
async_test(t => {
|
||||
const request = new XMLHttpRequest()
|
||||
request.open("GET", "toascii.json")
|
||||
request.send()
|
||||
request.responseType = "json"
|
||||
request.onload = t.step_func_done(() => {
|
||||
runTests(request.response)
|
||||
})
|
||||
}, "Loading data…")
|
||||
|
||||
function makeURL(type, input) {
|
||||
input = "https://" + input + "/x"
|
||||
if(type === "url") {
|
||||
return new URL(input)
|
||||
} else {
|
||||
const url = document.createElement(type)
|
||||
url.href = input
|
||||
return url
|
||||
}
|
||||
}
|
||||
|
||||
function runTests(tests) {
|
||||
for(var i = 0, l = tests.length; i < l; i++) {
|
||||
let hostTest = tests[i]
|
||||
if (typeof hostTest === "string") {
|
||||
continue // skip comments
|
||||
}
|
||||
const typeName = { "url": "URL", "a": "<a>", "area": "<area>" }
|
||||
;["url", "a", "area"].forEach((type) => {
|
||||
test(() => {
|
||||
if(hostTest.output !== null) {
|
||||
const url = makeURL("url", hostTest.input)
|
||||
assert_equals(url.host, hostTest.output)
|
||||
assert_equals(url.hostname, hostTest.output)
|
||||
assert_equals(url.pathname, "/x")
|
||||
assert_equals(url.href, "https://" + hostTest.output + "/x")
|
||||
} else {
|
||||
if(type === "url") {
|
||||
assert_throws(new TypeError, () => makeURL("url", hostTest.input))
|
||||
} else {
|
||||
const url = makeURL(type, hostTest.input)
|
||||
assert_equals(url.host, "")
|
||||
assert_equals(url.hostname, "")
|
||||
assert_equals(url.pathname, "")
|
||||
assert_equals(url.href, "https://" + hostTest.input + "/x")
|
||||
}
|
||||
}
|
||||
}, hostTest.input + " (using " + typeName[type] + ")")
|
||||
;["host", "hostname"].forEach((val) => {
|
||||
test(() => {
|
||||
const url = makeURL(type, "x")
|
||||
url[val] = hostTest.input
|
||||
if(hostTest.output !== null) {
|
||||
assert_equals(url[val], hostTest.output)
|
||||
} else {
|
||||
assert_equals(url[val], "x")
|
||||
}
|
||||
}, hostTest.input + " (using " + typeName[type] + "." + val + ")")
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue