mirror of
https://github.com/servo/servo.git
synced 2025-08-15 10:25:32 +01:00
Update web-platform-tests to revision 66f38302334f162d363afcf4a1792d895072f3ef
This commit is contained in:
parent
36f5b69224
commit
b198cd722a
622 changed files with 3374 additions and 2001 deletions
|
@ -0,0 +1,82 @@
|
|||
<!doctype html>
|
||||
<title>'document-write' tests</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/feature-policy/experimental-features/resources/common.js"></script>
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<iframe></iframe>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
let iframeElement = document.querySelector("iframe");
|
||||
let url = url_base + "document-write.html";
|
||||
|
||||
let text_to_write = "<div>FOO<\/div>";
|
||||
let test_cases = [{
|
||||
api: "open",
|
||||
query: "body",
|
||||
expected_value_enabled: false,
|
||||
},
|
||||
{
|
||||
api: "close"
|
||||
},
|
||||
{
|
||||
api: "write",
|
||||
args: text_to_write,
|
||||
query: "div",
|
||||
expected_value_enabled: "FOO"
|
||||
},
|
||||
{
|
||||
api: "writeln",
|
||||
args: text_to_write,
|
||||
query: "div",
|
||||
expected_value_enabled: "FOO"
|
||||
}];
|
||||
|
||||
// The feature 'document-write' is enabled by default and when it
|
||||
// is enabled, all dynamic markup insertion API work as intended.
|
||||
test_cases.forEach((tc) => {
|
||||
promise_test(async() => {
|
||||
await loadUrlInIframe(iframeElement, url);
|
||||
await sendMessageAndGetResponse(iframeElement.contentWindow, tc).then((response) => {
|
||||
assert_false(
|
||||
response.did_throw_exception,
|
||||
`When feature is disabled, invoking 'document.${tc.api}' should not` +
|
||||
" throw an exception.");
|
||||
if (tc.query) {
|
||||
assert_equals(
|
||||
response.value,
|
||||
tc.expected_value_enabled,
|
||||
`The added script tag by 'document.${tc.api}' must have run.`);
|
||||
}
|
||||
});
|
||||
}, `Verify 'document.${tc.api}' is not normally blocked.` );
|
||||
});
|
||||
|
||||
|
||||
// Disabling 'document-write' throws exception on the included API.
|
||||
test_cases.forEach((tc) => {
|
||||
promise_test(async() => {
|
||||
setFeatureState(iframeElement, "document-write", "'none'");
|
||||
await loadUrlInIframe(iframeElement, url);
|
||||
await sendMessageAndGetResponse(iframeElement.contentWindow, tc).then((response) => {
|
||||
assert_true(
|
||||
response.did_throw_exception,
|
||||
`When feature is enabled, invoking 'document.${tc.api}' should ` +
|
||||
" throw an exception.");
|
||||
if (tc.query) {
|
||||
assert_not_equals(
|
||||
response.value,
|
||||
tc.expected_value_enabled,
|
||||
`The added script tag by 'document.${tc.api}' must not have run.`);
|
||||
}
|
||||
});
|
||||
}, `Verify 'document.${tc.api}' is blocked when the feature is disabled.` );
|
||||
});
|
||||
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue