Revision f90d3d6e1592058b51eb94b48ff06f046e8ccf74 authored by Andreas Tolfsen on 13 April 2018, 13:33:50 UTC, committed by moz-wptsync-bot on 13 April 2018, 13:46:58 UTC
Ports tests added to Marionette in bug 1284232 to WPT. These test that the Arguments, Array, FileList, HTMLAllCollection, HTMLCollection, HTMLFormControlsCollection, HTMLOptionsCollection, and NodeList collections are properly serialised when returned from an injected script. There is one failing test that needs more investigation. My current suspicion is that it is a JavaScript bug. bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1453009 gecko-commit: 172094bca9a6e2f841e629aae292647e212d92c6 gecko-integration-branch: central gecko-reviewers: whimboo
1 parent 4c8580c
toascii.window.js
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 + ")")
})
})
}
}
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...