Update web-platform-tests to revision 66f38302334f162d363afcf4a1792d895072f3ef

This commit is contained in:
WPT Sync Bot 2018-06-13 21:09:34 -04:00
parent 36f5b69224
commit b198cd722a
622 changed files with 3374 additions and 2001 deletions

View file

@ -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>