Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Test for insertParagraph when defaultParagraphSeparator is br and between blocks</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
<script>
"use strict";
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(() => {
const editor = document.createElement("div");
editor.setAttribute("contenteditable", "");
editor.innerHTML = "<div>abc</div><div>def</div>";
document.body.appendChild(editor);
editor.focus();
document.execCommand("defaultParagraphSeparator", false, "br");
getSelection().collapse(editor, 1); // put caret between the <div>s
ok(
document.execCommand("insertParagraph"),
'execCommand("insertParagraph") should return true'
)
is(
editor.innerHTML,
"<div>abc</div><br><div>def</div>",
"<br> element should be inserted between the <div> elements"
);
ok(
getSelection().isCollapsed,
"Selection should be collapsed after insertParagraph"
);
is(
getSelection().focusNode,
editor,
"Caret should be in the editing host"
);
is(
getSelection().focusOffset,
1,
"Caret should be around the <br> element"
);
is(
SpecialPowers.wrap(getSelection()).interlinePosition,
true,
"Caret should be painted at start of the new line"
);
document.execCommand("insertText", false, "X");
todo_is(
editor.innerHTML,
"<div>abc</div><br>X<div>def</div>",
'"X" should be inserted after the inserted <br> element'
);
SimpleTest.finish();
});
</script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test"></pre>
</body>
</html>