mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Update web-platform-tests to revision 3137d1d2d7757366a69f8a449b458b5057e0e81e
This commit is contained in:
parent
81ca858678
commit
d6ba94ca28
2339 changed files with 89274 additions and 9328 deletions
|
@ -0,0 +1,56 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const sourceIFrame = document.createElement("iframe");
|
||||
sourceIFrame.setAttribute("sandbox", "allow-same-origin");
|
||||
|
||||
const destIFrame = document.createElement("iframe");
|
||||
|
||||
let sourceLoadCount = 0;
|
||||
let destLoadCount = 0;
|
||||
|
||||
sourceIFrame.onload = () => {
|
||||
++sourceLoadCount;
|
||||
|
||||
if (sourceLoadCount === 2) {
|
||||
assert_unreached("The iframe from which the meta came from must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
destIFrame.onload = () => {
|
||||
++destLoadCount;
|
||||
|
||||
if (destLoadCount === 2) {
|
||||
assert_unreached("The iframe into which the meta was moved must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
function maybeStartTest() {
|
||||
if (sourceLoadCount === 1 && destLoadCount === 1) {
|
||||
// Test that no refreshes occur within 3 seconds
|
||||
step_timeout(done, 3000);
|
||||
|
||||
const meta = sourceIFrame.contentDocument.querySelector("meta");
|
||||
destIFrame.contentDocument.body.appendChild(meta);
|
||||
}
|
||||
}
|
||||
|
||||
sourceIFrame.src = "support/refresh.sub.html?input=" + encodeURIComponent("1; url=foo");
|
||||
destIFrame.src = "support/ufoo";
|
||||
|
||||
document.body.appendChild(sourceIFrame);
|
||||
document.body.appendChild(destIFrame);
|
||||
</script>
|
|
@ -0,0 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh of the original iframe is not blocked if moved into a sandboxed iframe</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const sourceIFrame = document.createElement("iframe");
|
||||
|
||||
const destIFrame = document.createElement("iframe");
|
||||
destIFrame.setAttribute("sandbox", "allow-same-origin");
|
||||
|
||||
let sourceLoadCount = 0;
|
||||
let destLoadCount = 0;
|
||||
|
||||
sourceIFrame.onload = () => {
|
||||
++sourceLoadCount;
|
||||
|
||||
if (sourceLoadCount === 2) {
|
||||
assert_equals(sourceIFrame.contentDocument.body.textContent.trim(), "foo");
|
||||
done();
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
destIFrame.onload = () => {
|
||||
++destLoadCount;
|
||||
|
||||
if (destLoadCount === 2) {
|
||||
assert_unreached("The iframe into which the meta was moved must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
function maybeStartTest() {
|
||||
if (sourceLoadCount === 1 && destLoadCount === 1) {
|
||||
const meta = sourceIFrame.contentDocument.querySelector("meta");
|
||||
destIFrame.contentDocument.body.appendChild(meta);
|
||||
}
|
||||
}
|
||||
|
||||
sourceIFrame.src = "support/refresh.sub.html?input=" + encodeURIComponent("1; url=foo");
|
||||
destIFrame.src = "support/ufoo";
|
||||
|
||||
document.body.appendChild(sourceIFrame);
|
||||
document.body.appendChild(destIFrame);
|
||||
</script>
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh applies even when dynamically appended</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#pragma-directives">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const iframe = document.createElement("iframe");
|
||||
let loadCount = 0;
|
||||
|
||||
iframe.onload = () => {
|
||||
++loadCount;
|
||||
const iDocument = iframe.contentDocument;
|
||||
|
||||
if (loadCount === 1) {
|
||||
iDocument.body.innerHTML = `<meta http-equiv="refresh" content="1; url=foo">`;
|
||||
} else if (loadCount === 2) {
|
||||
assert_equals(iDocument.body.textContent.trim(), "foo");
|
||||
done();
|
||||
}
|
||||
};
|
||||
|
||||
iframe.src = "support/ufoo";
|
||||
document.body.appendChild(iframe);
|
||||
</script>
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>When moving between documents, must refresh the original document</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const sourceIFrame = document.createElement("iframe");
|
||||
const destIFrame = document.createElement("iframe");
|
||||
let sourceLoadCount = 0;
|
||||
let destLoadCount = 0;
|
||||
|
||||
sourceIFrame.onload = () => {
|
||||
++sourceLoadCount;
|
||||
|
||||
if (sourceLoadCount === 2) {
|
||||
assert_equals(sourceIFrame.contentDocument.body.textContent.trim(), "foo");
|
||||
done();
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
destIFrame.onload = () => {
|
||||
++destLoadCount;
|
||||
|
||||
if (destLoadCount === 2) {
|
||||
assert_unreached("The iframe into which the meta was moved must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
function maybeStartTest() {
|
||||
if (sourceLoadCount === 1 && destLoadCount === 1) {
|
||||
const meta = sourceIFrame.contentDocument.querySelector("meta");
|
||||
destIFrame.contentDocument.body.appendChild(meta);
|
||||
}
|
||||
}
|
||||
|
||||
sourceIFrame.src = "support/refresh.sub.html?input=" + encodeURIComponent("1; url=foo");
|
||||
destIFrame.src = "support/ufoo";
|
||||
|
||||
document.body.appendChild(sourceIFrame);
|
||||
document.body.appendChild(destIFrame);
|
||||
</script>
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh only applies while in the document tree, not in a shadow tree</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#pragma-directives">
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const iframe = document.createElement("iframe");
|
||||
iframe.src = "support/ufoo";
|
||||
|
||||
let loadCount = 0;
|
||||
|
||||
iframe.onload = () => {
|
||||
++loadCount;
|
||||
const iDocument = iframe.contentDocument;
|
||||
|
||||
if (loadCount === 1) {
|
||||
const div = iDocument.createElement("div");
|
||||
assert_true('attachShadow' in div, 'attachShadow support');
|
||||
const shadowRoot = div.attachShadow({ mode: "open" });
|
||||
shadowRoot.innerHTML = `<meta http-equiv="refresh" content="1; url=foo">`;
|
||||
iDocument.body.appendChild(div);
|
||||
|
||||
// Want to make sure no refreshes happen
|
||||
step_timeout(done, 3000);
|
||||
} else {
|
||||
assert_unreached("Got more than 1 load event");
|
||||
}
|
||||
};
|
||||
|
||||
document.body.appendChild(iframe);
|
||||
</script>
|
|
@ -0,0 +1,18 @@
|
|||
<!doctype html>
|
||||
<title>Test aspects of the reset event</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
async_test((t) => {
|
||||
var form = document.createElement("form")
|
||||
form.onreset = t.step_func_done((e) => {
|
||||
assert_true(e.bubbles)
|
||||
assert_true(e.cancelable)
|
||||
assert_true(e.isTrusted)
|
||||
assert_equals(e.target, form)
|
||||
})
|
||||
form.reset()
|
||||
assert_unreached()
|
||||
})
|
||||
</script>
|
|
@ -38,9 +38,9 @@ test(function () {
|
|||
}, "The form attribute must return the fieldset's form owner");
|
||||
|
||||
test(function () {
|
||||
assert_true(children_outer instanceof HTMLFormControlsCollection,
|
||||
"The elements attribute should be an HTMLFormControlsCollection object");
|
||||
}, "The elements must return an HTMLFormControlsCollection object");
|
||||
assert_equals(children_outer.constructor, HTMLCollection,
|
||||
"The elements attribute should be an HTMLCollection object");
|
||||
}, "The elements must return an HTMLCollection object");
|
||||
|
||||
test(function () {
|
||||
var fs_inner = document.getElementById("fs_inner");
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<input type=radio name=group1 id=radio2>
|
||||
|
||||
<input type=radio name=groüp2 id=radio3>
|
||||
<input type=radio name=groÜp2 id=radio4>
|
||||
<input type=radio name=groüp2 id=radio4>
|
||||
|
||||
<input type=radio id=radio5>
|
||||
<input type=radio id=radio6 disabled>
|
||||
|
@ -23,7 +23,6 @@
|
|||
<input type=radio name=group4 id=radio10>
|
||||
<input type=radio name=group4 id=radio11 checked>
|
||||
|
||||
|
||||
<script>
|
||||
var radio1 = document.getElementById('radio1'),
|
||||
radio2 = document.getElementById('radio2'),
|
||||
|
@ -64,7 +63,7 @@
|
|||
radio4.checked = true;
|
||||
assert_false(radio3.checked);
|
||||
assert_true(radio4.checked);
|
||||
}, "radio inputs with name attributes groüp2 and groÜp2 belong to the same radio button group");
|
||||
}, "radio inputs with non-ASCII name attributes belong to the same radio button group");
|
||||
|
||||
test(function(){
|
||||
assert_true(radio8.checked);
|
||||
|
|
|
@ -47,20 +47,21 @@ test(function () {
|
|||
//dateTime
|
||||
test(function () {
|
||||
assert_equals( makeTime('2000-02-01T03:04:05Z','2001-02-01T03:04:05Z').dateTime, '2000-02-01T03:04:05Z' );
|
||||
}, 'the datetime attribute should be reflected by the dateTime IDL property');
|
||||
}, 'the datetime attribute should be reflected by the .dateTime property');
|
||||
test(function () {
|
||||
assert_equals( typeof makeTime().dateTime, 'string', 'typeof test' );
|
||||
assert_equals( makeTime().dateTime, '', 'value test' );
|
||||
}, 'the dateTime IDL property should default to an empty string');
|
||||
test(function () {
|
||||
assert_equals( makeTime(false,false,'2000-02-01T03:04:05Z').dateTime, '2000-02-01T03:04:05Z' );
|
||||
}, 'the dateTime IDL property should be read/write');
|
||||
}, 'the dateTime property should be read/write');
|
||||
test(function () {
|
||||
assert_equals( makeTime('go fish').dateTime, 'go fish' );
|
||||
}, 'the datetime attribute should be reflected by the .dateTime property even if it is invalid');
|
||||
test(function() {
|
||||
test(function () {
|
||||
assert_equals( makeTime(false,'2000-02-01T03:04:05Z').dateTime, '' );
|
||||
}, 'the datetime attribute should not reflect the textContent');
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue