diff options
Diffstat (limited to 'testing/web-platform/tests/html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html')
-rw-r--r-- | testing/web-platform/tests/html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html b/testing/web-platform/tests/html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html new file mode 100644 index 0000000000..19b21863e0 --- /dev/null +++ b/testing/web-platform/tests/html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> + <head> + <title>Editing: contentEditable attribute test</title> + <link rel="author" title="Baidu" href="mailto: guopengcheng@baidu.com" /> + <link + rel="help" + href="https://html.spec.whatwg.org/multipage/#contenteditable" + /> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <div id="log"></div> + </head> + <body> + <script> + function testContentEditable(variationFunc, title, expectIsContentEditable, expectContentEditable) { + test(() => { + const div = document.createElement("div"); + variationFunc(div); + assert_equals(div.isContentEditable, expectIsContentEditable, 'isContentEditable'); + assert_equals(div.contentEditable, expectContentEditable, 'contentEditable'); + }, title); + } + + testContentEditable(el => { + }, "no contenteditable attribute", false, "inherit"); + + testContentEditable(el => { + el.setAttribute("contenteditable", ""); + }, "empty contentEditable attribute", true, "true"); + + testContentEditable(el => { + el.contentEditable = "true"; + }, 'set contentEditable = "true"', true, "true"); + + testContentEditable(el => { + el.contentEditable = "false"; + }, 'set contentEditable = "false"', false, "false"); + + testContentEditable(el => { + const parent = document.createElement("div"); + parent.appendChild(el); + parent.contentEditable = "true"; + }, 'set parent element contentEditable = "true"', true, "inherit"); + + testContentEditable(el => { + const parent = document.createElement("div"); + parent.appendChild(el); + parent.contentEditable = "false"; + }, 'set parent element contentEditable = "false"', false, "inherit"); + + testContentEditable(el => { + el.contentEditable = "true"; + el.removeAttribute("contenteditable"); + }, 'set contentEditable = "true" and then remove contenteditable attribute', false, "inherit"); + + testContentEditable(el => { + el.setAttribute("contenteditable", "plaintext-only"); + }, "contentEditable=plaintext-only attribute", true, "plaintext-only"); + + testContentEditable(el => { + const parent = document.createElement("div"); + parent.appendChild(el); + parent.contentEditable = "plaintext-only"; + }, 'set parent element contentEditable = "plaintext-only"', true, "inherit"); + </script> + </body> +</html> |