55 lines
1.8 KiB
HTML
55 lines
1.8 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<meta charset="utf-8">
|
|
<title>Generated content should not connect the first/last word with adjacent line's last/first word</title>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<style>
|
|
p {
|
|
white-space: nowrap;
|
|
}
|
|
p#middleLine::before, p#middleLine::after {
|
|
content: "GeneratedText";
|
|
}
|
|
</style>
|
|
<script>
|
|
"use strict";
|
|
|
|
addEventListener("load", () => {
|
|
const middleLine = document.getElementById("middleLine");
|
|
test(() => {
|
|
getSelection().collapse(middleLine.firstChild, "mid".length);
|
|
getSelection().modify("extend", "backward", "word");
|
|
assert_in_array(
|
|
getSelection().getRangeAt(0).startContainer,
|
|
[middleLine, middleLine.firstChild],
|
|
"The start container should be in the middle line"
|
|
);
|
|
assert_equals(
|
|
getSelection().getRangeAt(0).startOffset,
|
|
0,
|
|
"The start offset should be 0"
|
|
);
|
|
}, "extending selection from middle of first word of the middle line shouldn't extend the range to the previous line");
|
|
test(() => {
|
|
getSelection().collapse(middleLine.firstChild, "middle li".length);
|
|
getSelection().modify("extend", "forward", "word");
|
|
assert_in_array(
|
|
getSelection().getRangeAt(0).endContainer,
|
|
[middleLine, middleLine.firstChild],
|
|
"The end container should be in the middle line"
|
|
);
|
|
assert_equals(
|
|
getSelection().getRangeAt(0).endOffset,
|
|
getSelection().getRangeAt(0).endContainer.length,
|
|
"The end offset should be the length of the container"
|
|
);
|
|
}, "extending selection from middle of last word of the middle line shouldn't extend the range to the next line");
|
|
}, {once: true});
|
|
</script>
|
|
<body>
|
|
<p id="previousLine">previous line</p>
|
|
<p id="middleLine">middle line</p>
|
|
<p id="nextLine">last line</p>
|
|
</body>
|
|
</html>
|