117 lines
3.4 KiB
HTML
117 lines
3.4 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<meta charset=utf-8>
|
|
<meta name="variant" content="?command=increaseFontSize">
|
|
<meta name="variant" content="?command=decreaseFontSize">
|
|
<meta name="variant" content="?command=getHTML">
|
|
<meta name="variant" content="?command=insertBrOrReturn¶m=true">
|
|
<meta name="variant" content="?command=insertBrOrReturn¶m=false">
|
|
<meta name="variant" content="?command=heading¶m=h1">
|
|
<meta name="variant" content="?command=heading¶m=h2">
|
|
<meta name="variant" content="?command=heading¶m=h3">
|
|
<meta name="variant" content="?command=heading¶m=h4">
|
|
<meta name="variant" content="?command=heading¶m=h5">
|
|
<meta name="variant" content="?command=heading¶m=h6">
|
|
<meta name="variant" content="?command=contentReadOnly¶m=true">
|
|
<meta name="variant" content="?command=contentReadOnly¶m=false">
|
|
<meta name="variant" content="?command=readonly¶m=true">
|
|
<meta name="variant" content="?command=readonly¶m=false">
|
|
<title>Test legacy commands won't work</title>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
</head>
|
|
<body contenteditable></body>
|
|
<script>
|
|
"use strict";
|
|
|
|
const testParams = new URLSearchParams(location.search.substring(1));
|
|
const command = testParams.get("command");
|
|
const param = testParams.has("param") ? testParams.get("param") : undefined;
|
|
|
|
const editor = document.body;
|
|
|
|
promise_test(async () => {
|
|
await new Promise(resolve => addEventListener("load", resolve, {once: true}));
|
|
}, "Wait for load...");
|
|
|
|
promise_test(async () => {
|
|
function reset() {
|
|
editor.innerHTML = "<p>abc</p>";
|
|
editor.focus();
|
|
getSelection().setBaseAndExtent(
|
|
editor.querySelector("p").firstChild,
|
|
1,
|
|
editor.querySelector("p").firstChild,
|
|
2
|
|
);
|
|
}
|
|
test(() => {
|
|
reset();
|
|
let inputEvents = [];
|
|
function onInput(event) {
|
|
inputEvents.push(event);
|
|
}
|
|
editor.addEventListener("input", onInput);
|
|
try {
|
|
assert_equals(
|
|
document.execCommand(command, false, param),
|
|
false,
|
|
"result should be false"
|
|
);
|
|
assert_equals(
|
|
editor.outerHTML,
|
|
"<body contenteditable=\"\"><p>abc</p></body>",
|
|
"editable content shouldn't be modified"
|
|
);
|
|
assert_equals(
|
|
inputEvents.length,
|
|
0,
|
|
"no input events should be fired"
|
|
);
|
|
} finally {
|
|
editor.removeEventListener("input", onInput);
|
|
}
|
|
}, `execCommand("${command}", false, ${param === undefined ? "undefined" : `"${param}"`})`);
|
|
test(() => {
|
|
reset();
|
|
assert_equals(
|
|
document.queryCommandState(command),
|
|
false,
|
|
"result should be false"
|
|
);
|
|
}, `queryCommandState("${command}")`);
|
|
test(() => {
|
|
reset();
|
|
assert_equals(
|
|
document.queryCommandEnabled(command),
|
|
false,
|
|
"result should be false"
|
|
);
|
|
}, `queryCommandEnabled("${command}")`);
|
|
test(() => {
|
|
reset();
|
|
assert_equals(
|
|
document.queryCommandIndeterm(command),
|
|
false,
|
|
"result should be false"
|
|
);
|
|
}, `queryCommandIndeterm("${command}")`);
|
|
test(() => {
|
|
reset();
|
|
assert_equals(
|
|
document.queryCommandValue(command),
|
|
"",
|
|
"result should be empty string"
|
|
);
|
|
}, `queryCommandValue("${command}")`);
|
|
test(() => {
|
|
reset();
|
|
assert_equals(
|
|
document.queryCommandSupported(command),
|
|
false,
|
|
"result should be false"
|
|
);
|
|
}, `queryCommandSupported("${command}")`);
|
|
}, `command: "${command}", param: "${param}"`);
|
|
</script>
|
|
</html>
|