// #01-01 Typing something after setting some styles should insert some nodes to insert text.
editor.innerHTML = "beforeafter";
selection.collapse(editor.firstChild, "before".length);
document.execCommand("bold");
document.execCommand("italic");
document.execCommand("strikethrough");
sendString("test");
is(editor.innerHTML, "beforetestafter", "#01-01 At typing something after setting some styles, should cause inserting some nodes to apply the style");
// #01-02 Typing something after removing some characters after setting some styles should work as without removing some character.
editor.innerHTML = "beforeafter";
selection.collapse(editor.firstChild, "before".length);
document.execCommand("bold");
document.execCommand("italic");
document.execCommand("strikethrough");
synthesizeKey("KEY_Delete");
sendString("test");
todo_is(
editor.innerHTML, "beforetestfter", "#01-02-1 At typing something after Delete after setting style, the style should not be preserved for compatibility with the other browsers"
);
is(
editor.innerHTML, "beforetestfter", "#01-02-1 At typing something after Delete after setting style, the style should not be preserved, but it's okay to do it for backward compatibility"
);
is(editor.innerHTML, "befortestafter", "#01-02-2 At typing something after Backspace after setting style, should cause inserting some nodes to apply the style");
// #03-01 Replacing in <b style="font-weight: normal;"> shouldn't cause new .
editor.innerHTML = "font-weight: normal;\">beforeselectionafter";
selection.collapse(editor.firstChild.firstChild, "before".length);
selection.extend(editor.firstChild.firstChild, "beforeselection".length);
sendString("test");
is(editor.innerHTML, "font-weight: normal;\">beforetestafter", "#03-01 Replacing text in styled inline elements should respect the styles");
// #03-02 Typing something after removing selected text in <b style="font-weight: normal;"> shouldn't cause new .
editor.innerHTML = "font-weight: normal;\">beforeselectionafter";
selection.collapse(editor.firstChild.firstChild, "before".length);
selection.extend(editor.firstChild.firstChild, "beforeselection".length);
synthesizeKey("KEY_Backspace");
sendString("test");
is(editor.innerHTML, "font-weight: normal;\">beforetestafter", "#03-02 Inserting text after removing text in styled inline elements should respect the styles");
// #03-03 Typing something after typing Enter at selected text in <b style="font-weight: normal;"> shouldn't cause new .
editor.innerHTML = "font-weight: normal;\">beforeselectionafter";
selection.collapse(editor.firstChild.firstChild, "before".length);
selection.extend(editor.firstChild.firstChild, "beforeselection".length);
synthesizeKey("KEY_Enter");
sendString("test");
is(editor.innerHTML, "
font-weight: normal;\">before
font-weight: normal;\">testafter
", "#03-03-1 Inserting text after typing Enter at selected text in styled inline elements should respect the styles");
", "#03-03-2 Inserting text after typing Enter at selected text in styled inline elements should respect the styles");
// #04-01 Replacing in some styled inline elements shouldn't cause new same elements.
editor.innerHTML = "text-decoration: none;\">font-style: normal;\">font-weight: normal;\">beforeselectionafter";
selection.collapse(editor.firstChild.firstChild.firstChild.firstChild, "before".length);
selection.extend(editor.firstChild.firstChild.firstChild.firstChild, "beforeselection".length);
sendString("test");
is(editor.innerHTML, "text-decoration: none;\">font-style: normal;\">font-weight: normal;\">beforetestafter", "#04-01 Replacing text in styled inline elements should respect the styles");
// #04-02 Typing something after removing selected text in some styled inline elements shouldn't cause new same elements.
editor.innerHTML = "text-decoration: none;\">font-style: normal;\">font-weight: normal;\">beforeselectionafter";
selection.collapse(editor.firstChild.firstChild.firstChild.firstChild, "before".length);
selection.extend(editor.firstChild.firstChild.firstChild.firstChild, "beforeselection".length);
synthesizeKey("KEY_Backspace");
sendString("test");
is(editor.innerHTML, "text-decoration: none;\">font-style: normal;\">font-weight: normal;\">beforetestafter", "#04-02 Inserting text after removing text in styled inline elements should respect the styles");
// #04-03 Typing something after typing Enter at selected text in some styled inline elements shouldn't cause new same elements.
editor.innerHTML = "text-decoration: none;\">font-style: normal;\">font-weight: normal;\">beforeselectionafter";
selection.collapse(editor.firstChild.firstChild.firstChild.firstChild, "before".length);
selection.extend(editor.firstChild.firstChild.firstChild.firstChild, "beforeselection".length);
synthesizeKey("KEY_Enter");
sendString("test");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.