This is a testharness.js-based test.
[FAIL] Inserting "XY" after setting caret position to start of a link containing <b> (Selection.collapse) in <p><a href="about:blank"><b>ab[]c</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a>undefined<br></p>"]
[FAIL] Inserting "XY" after setting caret position to start of a link containing <b> (Selection.addRange) in <p><a href="about:blank"><b>ab[]c</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a>undefined<br></p>"]
[FAIL] Inserting "XY" after setting caret position to end of a link containing <b> (Selection.collapse) in <p><a href="about:blank"><b>ab[]c</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XYundefined<br></p>"]
[FAIL] Inserting "XY" after setting caret position to end of a link containing <b> (Selection.addRange) in <p><a href="about:blank"><b>ab[]c</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XYundefined<br></p>"]
[FAIL] Inserting "XY" after modifying caret position to start of a link containing <b> in <p><a href="about:blank"><b>ab[]c</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" after modifying caret position to end of a link containing <b> in <p><a href="about:blank"><b>ab[]c</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting following character of a link containing <b> (Backspace) in <p><a href="about:blank"><b>abc</b></a>d[]</p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting following character of a link containing <b> (execCommand("delete")) in <p><a href="about:blank"><b>abc</b></a>d[]</p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting a previous character of a link containing <b> (Delete) in <p>[]z<a href="about:blank"><b>abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" after deleting a previous character of a link containing <b> (execCommand("forwarddelete")) in <p>[]z<a href="about:blank"><b>abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" after deleting last character of a link containing <b> (Backspace) in <p><a href="about:blank"><b>abcd[]</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p></b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting last character of a link containing <b> (execCommand("delete")) in <p><a href="about:blank"><b>abcd[]</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p></b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting last character of a link containing <b> (Delete) in <p><a href="about:blank"><b>abc[]d</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting last character of a link containing <b> (execCommand("forwarddelete")) in <p><a href="about:blank"><b>abc[]d</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" after deleting first character of a link containing <b> (Backspace) in <p><a href="about:blank"><b>z[]abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" after deleting first character of a link containing <b> (execCommand("delete")) in <p><a href="about:blank"><b>z[]abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" after deleting first character of a link containing <b> (Delete) in <p><a href="about:blank"><b>[]zabc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" after deleting first character of a link containing <b> (execCommand("forwarddelete")) in <p><a href="about:blank"><b>[]zabc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" at start of a link which has a class for bold text in <p><a href="about:blank" class="bold"><b>[]abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\" class=\\"bold\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\" class=\\"bold\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\" class=\\"bold\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" at end of a link which has a class for bold text in <p><a href="about:blank" class="bold"><b>abc[]</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\" class=\\"bold\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\" class=\\"bold\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\" class=\\"bold\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" at start of a link which has inline style for bold text in <p><a href="about:blank" style="font-weight: bold"><b>[]abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\" style=\\"font-weight: bold\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" at end of a link which has inline style for bold text in <p><a href="about:blank" style="font-weight: bold"><b>abc[]</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\" style=\\"font-weight: bold\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" at start of a link which has a class for bold text (in CSS mode) in <p><a href="about:blank" class="bold"><b>[]abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\" class=\\"bold\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\" class=\\"bold\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\" class=\\"bold\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" at end of a link which has a class for bold text (in CSS mode) in <p><a href="about:blank" class="bold"><b>abc[]</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\" class=\\"bold\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\" class=\\"bold\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\" class=\\"bold\\">abc</a>XY</b><br></p>"]
[FAIL] Inserting "XY" at start of a link which has inline style for bold text (in CSS mode) in <p><a href="about:blank" style="font-weight: bold"><b>[]abc</b></a></p>
assert_in_array: value "<p>XY<a href=\\"about:blank\\" style=\\"font-weight: bold\\"><b>abc</b></a></p>" not in array ["<p><b>XY<a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a></b></p>", "<p><b>XY<a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a></b><br></p>"]
[FAIL] Inserting "XY" at end of a link which has inline style for bold text (in CSS mode) in <p><a href="about:blank" style="font-weight: bold"><b>abc[]</b></a></p>
assert_in_array: value "<p><a href=\\"about:blank\\" style=\\"font-weight: bold\\"><b>abc</b></a>XY</p>" not in array ["<p><b><a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a>XY</b></p>", "<p><b><a href=\\"about:blank\\" style=\\"font-weight: bold\\">abc</a>XY</b><br></p>"]
Harness: the test ran to completion.