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