diff options
Diffstat (limited to 'testing/web-platform/tests/selection/caret')
4 files changed, 58 insertions, 0 deletions
diff --git a/testing/web-platform/tests/selection/caret/collapse-pre-linestart-1.html b/testing/web-platform/tests/selection/caret/collapse-pre-linestart-1.html new file mode 100644 index 0000000000..6863456f06 --- /dev/null +++ b/testing/web-platform/tests/selection/caret/collapse-pre-linestart-1.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>selection.collapse() to line start</title> +<link rel="author" title="Kagami Sascha Rosylight" href="mailto:krosylight@mozilla.com"> +<link rel="help" href="https://w3c.github.io/selection-api/#dom-selection-collapse"> +<link rel="match" href="collapse-pre-linestart-ref.html"> +<meta name="assert" content="The caret must appear at the start of the second line."> +<pre id=target contenteditable>ABC +<br></pre> +<script> + getSelection().collapse(target.childNodes[0], 4); +</script> diff --git a/testing/web-platform/tests/selection/caret/collapse-pre-linestart-2.html b/testing/web-platform/tests/selection/caret/collapse-pre-linestart-2.html new file mode 100644 index 0000000000..ac119cbb31 --- /dev/null +++ b/testing/web-platform/tests/selection/caret/collapse-pre-linestart-2.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>selection.collapse() to line start</title> +<link rel="author" title="Kagami Sascha Rosylight" href="mailto:krosylight@mozilla.com"> +<link rel="help" href="https://w3c.github.io/selection-api/#dom-selection-collapse"> +<link rel="match" href="collapse-pre-linestart-ref.html"> +<meta name="assert" content="The caret must appear at the start of the second line."> +<pre id=target contenteditable>ABC + +</pre> +<script> + getSelection().collapse(target.childNodes[0], 4); +</script> diff --git a/testing/web-platform/tests/selection/caret/collapse-pre-linestart-ref.html b/testing/web-platform/tests/selection/caret/collapse-pre-linestart-ref.html new file mode 100644 index 0000000000..2b25941ded --- /dev/null +++ b/testing/web-platform/tests/selection/caret/collapse-pre-linestart-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>selection.collapse() to line start</title> +<pre id=target contenteditable>ABC<br><br></pre> +<script> + target.focus(); + getSelection().collapse(target, 3); +</script> diff --git a/testing/web-platform/tests/selection/caret/empty-elements.html b/testing/web-platform/tests/selection/caret/empty-elements.html new file mode 100644 index 0000000000..328188c957 --- /dev/null +++ b/testing/web-platform/tests/selection/caret/empty-elements.html @@ -0,0 +1,25 @@ +<!DOCTYPE HTML> +<meta charset=utf-8> +<title>Placing selection inside empty elements</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div contenteditable id="host"> + <p><strong id="strong"></strong></p> +</div> +<script> +test( () => { + const range = document.createRange(); + + range.setStart( strong, 0 ); + range.collapse() + getSelection().removeAllRanges(); + getSelection().addRange( range ); + + const selectedRange = getSelection().getRangeAt( 0 ); + + assert_equals( selectedRange.startContainer, strong ); + assert_equals( selectedRange.startOffset, 0 ); + assert_equals( selectedRange.endContainer, strong ); + assert_equals( selectedRange.endOffset, 0 ); +}, 'Selection can be placed inside the empty element' ); +</script> |