summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html')
-rw-r--r--testing/web-platform/tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html b/testing/web-platform/tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
new file mode 100644
index 0000000000..48c6313f32
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>text field selection (textarea)</title>
+<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
+<link rel=help href="https://html.spec.whatwg.org/multipage/#textFieldSelection">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+ test(function() {
+ var el = document.createElement("textarea");
+ assert_equals(el.selectionStart, 0, "initial selectionStart");
+ assert_equals(el.selectionEnd, 0, "initial selectionEnd");
+ // The initial selection direction must be "none" if the platform supports that
+ // direction, or "forward" otherwise.
+ assert_in_array(el.selectionDirection, ["none", "forward"]);
+
+ const initialDirection = el.selectionDirection;
+ el.selectionDirection = "none";
+ assert_equals(el.selectionDirection, initialDirection);
+
+ el.value = "foo";
+ el.selectionStart = 1;
+ el.selectionEnd = 1;
+ el.selectionDirection = "forward";
+ assert_equals(el.selectionStart, 1, "updated selectionStart");
+ assert_equals(el.selectionEnd, 1, "updated selectionEnd");
+ assert_equals(el.selectionDirection, "forward", "updated selectionDirection");
+
+ el.setRangeText("foobar");
+ el.setSelectionRange(0, 1);
+ assert_equals(el.selectionStart, 0, "final selectionStart");
+ assert_equals(el.selectionEnd, 1, "final selectionEnd");
+ assert_in_array(el.selectionDirection, ["none", "forward"]);
+
+ const finalDirection = el.selectionDirection;
+ el.finalDirection = "forward";
+ assert_equals(el.selectionDirection, finalDirection);
+ }, "text field selection for the input textarea");
+</script>