mirror of
https://github.com/servo/servo.git
synced 2025-08-17 11:25:35 +01:00
Update web-platform-tests to revision 2dda7b8c10c7566fa6167a32b09c85d51baf2a85
This commit is contained in:
parent
25ebde78aa
commit
8edc7686ef
129 changed files with 5280 additions and 820 deletions
|
@ -1,32 +1,49 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-the-form-data-set">
|
||||
<link ref="help" href="https://xhr.spec.whatwg.org/#dom-formdata">
|
||||
<link rel="help" href="https://fetch.spec.whatwg.org/#concept-bodyinit-extract">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<iframe name="frame1"></iframe>
|
||||
<form accept-charset="iso-8859-1" target="frame1" action="/common/blank.html">
|
||||
<input type="hidden" name="_charset_">
|
||||
<iframe name="frame1" id="frame1"></iframe>
|
||||
<form accept-charset="iso-8859-1" target="frame1" action="/common/blank.html" id="form1">
|
||||
<input type="hidden" name="_charset_">
|
||||
</form>
|
||||
|
||||
<iframe name="frame2" id="frame2"></iframe>
|
||||
<form target="frame2" action="/common/blank.html" id="form2">
|
||||
<input type="text" name="foo">
|
||||
<button type="close" name="close" value="true">close</button>
|
||||
<button type="button" name="button" value="true">button</button>
|
||||
<button type="reset" name="reset" value="true">reset</button>
|
||||
<button type="submit" name="submit" value="true">submit</button>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
const form1 = document.getElementById('form1'),
|
||||
form2 = document.getElementById('form2'),
|
||||
frame1 = document.getElementById('frame1'),
|
||||
frame2 = document.getElementById('frame2');
|
||||
|
||||
test(() => {
|
||||
let formData = new FormData(document.querySelector('form'));
|
||||
const formData = new FormData(form1);
|
||||
assert_equals(formData.get('_charset_'), 'UTF-8');
|
||||
}, 'FormData constructor always produces UTF-8 _charset_ value.');
|
||||
|
||||
let t = async_test('_charset_ control sets the expected encoding name.');
|
||||
t.step(() => {
|
||||
let iframe = document.querySelector('iframe');
|
||||
iframe.onload = t.step_func_done(() => {
|
||||
assert_not_equals(iframe.contentDocument.URL.indexOf('_charset_=windows-1252'), -1);
|
||||
async_test(t => {
|
||||
frame1.onload = t.step_func_done(() => {
|
||||
assert_not_equals(frame1.contentDocument.URL.indexOf('_charset_=windows-1252'), -1);
|
||||
});
|
||||
document.querySelector('form').submit();
|
||||
});
|
||||
form1.submit();
|
||||
}, '_charset_ control sets the expected encoding name.');
|
||||
|
||||
async_test(t => {
|
||||
frame2.onload = t.step_func_done(() => {
|
||||
assert_equals(frame2.contentDocument.URL.split("?")[1], 'foo=&submit=true');
|
||||
});
|
||||
form2.submit.click();
|
||||
}, 'The button cannot be setted if it is not a submitter.');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -1,15 +1,60 @@
|
|||
for (const ev of ["unload", "beforeunload", "pagehide"]) {
|
||||
for (const [ev, target] of [
|
||||
["beforeunload", iframe => iframe.contentWindow],
|
||||
["pagehide", iframe => iframe.contentWindow],
|
||||
["unload", iframe => iframe.contentWindow],
|
||||
["visibilitychange", iframe => iframe.contentDocument],
|
||||
]) {
|
||||
async_test(t => {
|
||||
const iframe = document.body.appendChild(document.createElement("iframe"));
|
||||
t.add_cleanup(() => iframe.remove());
|
||||
iframe.src = "/common/blank.html";
|
||||
iframe.onload = t.step_func(() => {
|
||||
iframe.contentWindow.addEventListener(ev, t.step_func_done(() => {
|
||||
target(iframe).addEventListener(ev, t.step_func_done(() => {
|
||||
assert_not_equals(iframe.contentDocument.childNodes.length, 0);
|
||||
assert_equals(iframe.contentDocument.open(), iframe.contentDocument);
|
||||
assert_not_equals(iframe.contentDocument.childNodes.length, 0);
|
||||
}));
|
||||
iframe.src = "about:blank";
|
||||
});
|
||||
}, `document.open should bail out when ignore-opens-during-unload is greater than 0 during ${ev} event`);
|
||||
}, `document.open should bail out when ignore-opens-during-unload is greater than 0 during ${ev} event (in top-level browsing context)`);
|
||||
|
||||
async_test(t => {
|
||||
const iframe = document.body.appendChild(document.createElement("iframe"));
|
||||
t.add_cleanup(() => iframe.remove());
|
||||
iframe.src = "/common/blank.html?1";
|
||||
iframe.onload = t.step_func(() => {
|
||||
const doc = iframe.contentDocument;
|
||||
const innerIframe = doc.body.appendChild(doc.createElement("iframe"));
|
||||
innerIframe.src = "/common/blank.html?2";
|
||||
innerIframe.onload = t.step_func(() => {
|
||||
// Navigate the parent, listen on the child, and open() the parent.
|
||||
target(innerIframe).addEventListener(ev, t.step_func_done(() => {
|
||||
assert_not_equals(iframe.contentDocument.childNodes.length, 0);
|
||||
iframe.contentDocument.open();
|
||||
assert_not_equals(iframe.contentDocument.childNodes.length, 0);
|
||||
}));
|
||||
iframe.src = "about:blank";
|
||||
});
|
||||
});
|
||||
}, `document.open should bail out when ignore-opens-during-unload is greater than 0 during ${ev} event (open(parent) while unloading parent and child)`);
|
||||
|
||||
async_test(t => {
|
||||
const iframe = document.body.appendChild(document.createElement("iframe"));
|
||||
t.add_cleanup(() => iframe.remove());
|
||||
iframe.src = "/common/blank.html?1";
|
||||
iframe.onload = t.step_func(() => {
|
||||
const doc = iframe.contentDocument;
|
||||
const innerIframe = doc.body.appendChild(doc.createElement("iframe"));
|
||||
innerIframe.src = "/common/blank.html?2";
|
||||
innerIframe.onload = t.step_func(() => {
|
||||
// Navigate the child, listen on the child, and open() the parent.
|
||||
target(innerIframe).addEventListener(ev, t.step_func_done(() => {
|
||||
assert_not_equals(iframe.contentDocument.childNodes.length, 0);
|
||||
iframe.contentDocument.open();
|
||||
assert_equals(iframe.contentDocument.childNodes.length, 0);
|
||||
}));
|
||||
innerIframe.src = "about:blank";
|
||||
});
|
||||
});
|
||||
}, `document.open should bail out when ignore-opens-during-unload is greater than 0 during ${ev} event (open(parent) while unloading child only)`);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue