2025-03-18 15:28:35 -03:00
|
|
|
|
<!DOCTYPE html>
|
2026-05-18 08:35:08 -03:00
|
|
|
|
<meta charset="utf-8">
|
2025-01-07 12:51:16 -03:00
|
|
|
|
<script src="../include.js"></script>
|
2025-09-15 08:56:19 -03:00
|
|
|
|
<div id="a" contenteditable>foobar</div>
|
|
|
|
|
|
<div id="b" contenteditable>a </div>
|
|
|
|
|
|
<div id="c" contenteditable>a b</div>
|
|
|
|
|
|
<div id="d" contenteditable>a b</div>
|
|
|
|
|
|
<div id="e" contenteditable>a b</div>
|
|
|
|
|
|
<div id="f" contenteditable>a b</div>
|
|
|
|
|
|
<div id="g" contenteditable> b</div>
|
|
|
|
|
|
<div id="h" contenteditable>foo👩🏼❤️👨🏻bar</div>
|
|
|
|
|
|
<div id="i" contenteditable>foo<div>bar<br>baz</div></div>
|
2025-01-07 12:51:16 -03:00
|
|
|
|
<script>
|
|
|
|
|
|
test(() => {
|
2025-09-15 08:56:19 -03:00
|
|
|
|
const testForwardDelete = function(divId, anchorExpression, start, end = start) {
|
2025-04-29 08:20:15 -03:00
|
|
|
|
println(`--- ${divId} ---`);
|
|
|
|
|
|
const divElm = document.querySelector(`div#${divId}`);
|
|
|
|
|
|
println(`Before: ${divElm.innerHTML}`);
|
2025-01-07 12:51:16 -03:00
|
|
|
|
|
2025-04-29 08:20:15 -03:00
|
|
|
|
// Place cursor
|
2025-09-15 08:56:19 -03:00
|
|
|
|
const anchor = anchorExpression(divElm);
|
|
|
|
|
|
getSelection().setBaseAndExtent(anchor, start, anchor, end);
|
2025-01-07 12:51:16 -03:00
|
|
|
|
|
2025-04-29 08:20:15 -03:00
|
|
|
|
// Press delete
|
2025-09-15 08:56:19 -03:00
|
|
|
|
document.execCommand("forwardDelete");
|
2025-01-07 12:51:16 -03:00
|
|
|
|
|
2025-04-29 08:20:15 -03:00
|
|
|
|
println(`After: ${divElm.innerHTML}`);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2025-09-15 08:56:19 -03:00
|
|
|
|
testForwardDelete("a", (node) => node.firstChild, 3);
|
|
|
|
|
|
testForwardDelete("b", (node) => node.firstChild, 1);
|
|
|
|
|
|
testForwardDelete("c", (node) => node.firstChild, 1);
|
|
|
|
|
|
testForwardDelete("d", (node) => node.firstChild, 1);
|
|
|
|
|
|
testForwardDelete("e", (node) => node.firstChild, 1);
|
|
|
|
|
|
testForwardDelete("f", (node) => node.firstChild, 1);
|
|
|
|
|
|
testForwardDelete("g", (node) => node.firstChild, 0);
|
|
|
|
|
|
testForwardDelete("h", (node) => node.firstChild, 3);
|
|
|
|
|
|
testForwardDelete("i", (node) => node.firstChild, 3);
|
2025-01-07 12:51:16 -03:00
|
|
|
|
});
|
|
|
|
|
|
</script>
|