summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/inert/inert-node-is-uneditable.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/inert/inert-node-is-uneditable.html')
-rw-r--r--testing/web-platform/tests/inert/inert-node-is-uneditable.html41
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/web-platform/tests/inert/inert-node-is-uneditable.html b/testing/web-platform/tests/inert/inert-node-is-uneditable.html
new file mode 100644
index 0000000000..23182b937c
--- /dev/null
+++ b/testing/web-platform/tests/inert/inert-node-is-uneditable.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <title>inert nodes are uneditable</title>
+ <link rel="author" title="Alice Boxhall" href="aboxhall@chromium.org">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ </head>
+<body>
+<span inert id="not-editable" contenteditable>I'm not editable.</span>
+<span id="editable" contenteditable>I'm editable.</span>
+<script>
+var notEditable = document.querySelector('#not-editable');
+var editable = document.querySelector('#editable');
+
+promise_test(async function() {
+ notEditable.focus();
+ var oldValue = notEditable.textContent;
+ assert_equals(oldValue, "I'm not editable.");
+ await promise_rejects_js(
+ this,
+ Error,
+ test_driver.send_keys(notEditable, 'a'),
+ "send_keys should reject for non-interactive elements");
+ assert_equals(notEditable.textContent, oldValue);
+}, "Can't edit inert contenteditable");
+
+promise_test(async () => {
+ editable.focus();
+ var oldValue = editable.textContent;
+ assert_equals(oldValue, "I'm editable.");
+ await test_driver.send_keys(editable, 'a');
+ assert_not_equals(editable.textContent, oldValue);
+}, "Can edit non-inert contenteditable");
+
+</script>
+</body>
+</html>