Bug 1782911 - part 6: Make `HTMLEditor::MoveOneHardLineContentsWithTransaction` delete new empty inline parents if deleting unnecessary line break creates them r=m_kato

Differential Revision: https://phabricator.services.mozilla.com/D157415
This commit is contained in:
Masayuki Nakano 2022-09-25 12:49:45 +00:00
Родитель a7c1b47e8b
Коммит 94fbe6ab47
3 изменённых файлов: 13 добавлений и 525 удалений

Просмотреть файл

@ -5091,6 +5091,18 @@ MoveNodeResult HTMLEditor::MoveOneHardLineContentsWithTransaction(
} else {
MOZ_ASSERT(lastLineBreakContent->IsHTMLElement(nsGkAtoms::br));
}
// If last line break content is the only content of its parent, we should
// remove the parent too.
if (const RefPtr<Element> inlineElement =
HTMLEditUtils::GetMostDistantAnscestorEditableEmptyInlineElement(
*lastLineBreakContent, &aEditingHost)) {
nsresult rv = DeleteNodeWithTransaction(*inlineElement);
if (NS_FAILED(rv)) {
NS_WARNING("EditorBase::DeleteNodeWithTransaction() failed");
return MoveNodeResult(rv);
}
return moveContentsInLineResult;
}
// Or if the text node has only the preformatted line break or <br> element,
// we should remove it.
nsresult rv = DeleteNodeWithTransaction(*lastLineBreakContent);

Просмотреть файл

@ -267,8 +267,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=772796
],
/* 55-03*/[
"<div>test</div><div class=\"pre\"><b>foo</b>\nbar</div>",
"<div>test<b style=\"white-space: pre;\">foo</b>\n</div><div class=\"pre\">bar</div>", // expected
"<div>test<b style=\"white-space: pre;\">foo</b><span style=\"white-space: pre;\"></span></div><div class=\"pre\">bar</div>", // current result
"<div>test<b style=\"white-space: pre;\">foo</b></div><div class=\"pre\">bar</div>", // expected
],
/* 56-04*/[
"<div>test</div><div class=\"pre\"><b>foo\n</b>bar\nbaz</div>",

Просмотреть файл

@ -1,523 +0,0 @@
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=normal&right-white-space=pre]
[delete at <div style="white-space:normal">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc</div>\\n<div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc</div><div class="pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=normal&right-white-space=pre-wrap]
[delete at <div style="white-space:normal">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc</div>\\n<div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc</div><div class="preWrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=normal&right-white-space=pre-line]
[delete at <div style="white-space:normal">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc</div>\\n<div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc</div><div class="preLine"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=normal&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre&right-white-space=pre-wrap]
[delete at <div style="white-space:pre">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc</div>\\n<div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc</div><div class="preWrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="pre">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre&right-white-space=pre-line]
[delete at <div style="white-space:pre">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc</div>\\n<div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc</div><div class="preLine"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="pre">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-wrap&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-wrap&right-white-space=pre]
[delete at <div style="white-space:pre-wrap">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc</div>\\n<div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc</div><div class="pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preWrap">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-wrap&right-white-space=pre-line]
[delete at <div style="white-space:pre-wrap">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc</div>\\n<div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc</div><div class="preLine"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preWrap">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-wrap&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-line&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-line&right-white-space=pre]
[delete at <div style="white-space:pre-line">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc</div>\\n<div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc</div><div class="pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preLine">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-line&right-white-space=pre-wrap]
[delete at <div style="white-space:pre-line">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc</div>\\n<div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc</div><div class="preWrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preLine">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=pre-line&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=nowrap&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=nowrap&right-white-space=pre]
[delete at <div style="white-space:nowrap">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc</div>\\n<div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc</div><div class="pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="nowrap">abc</div><div style="white-space:pre"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=nowrap&right-white-space=pre-wrap]
[delete at <div style="white-space:nowrap">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc</div>\\n<div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc</div><div class="preWrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="nowrap">abc</div><div style="white-space:pre-wrap"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=backspace&left-white-space=nowrap&right-white-space=pre-line]
[delete at <div style="white-space:nowrap">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc</div>\\n<div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc</div><div class="preLine"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="nowrap">abc</div><div style="white-space:pre-line"><b>[\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=normal&right-white-space=pre]
[forwarddelete at <div style="white-space:normal">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:normal">abc[\]</div>\\n<div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:normal">abc[\]</div><div class="pre"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=normal&right-white-space=pre-wrap]
[forwarddelete at <div style="white-space:normal">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:normal">abc[\]</div>\\n<div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:normal">abc[\]</div><div class="preWrap"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=normal&right-white-space=pre-line]
[forwarddelete at <div style="white-space:normal">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:normal">abc[\]</div>\\n<div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:normal">abc[\]</div><div class="preLine"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=normal&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre&right-white-space=pre-wrap]
[forwarddelete at <div style="white-space:pre">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre">abc[\]</div>\\n<div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre">abc[\]</div><div class="preWrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="pre">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre&right-white-space=pre-line]
[forwarddelete at <div style="white-space:pre">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre">abc[\]</div>\\n<div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre">abc[\]</div><div class="preLine"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="pre">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-wrap&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-wrap&right-white-space=pre]
[forwarddelete at <div style="white-space:pre-wrap">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-wrap">abc[\]</div>\\n<div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-wrap">abc[\]</div><div class="pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="preWrap">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-wrap&right-white-space=pre-line]
[forwarddelete at <div style="white-space:pre-wrap">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-wrap">abc[\]</div>\\n<div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-wrap">abc[\]</div><div class="preLine"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="preWrap">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-wrap&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-line&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-line&right-white-space=pre]
[forwarddelete at <div style="white-space:pre-line">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-line">abc[\]</div>\\n<div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-line">abc[\]</div><div class="pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="preLine">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-line&right-white-space=pre-wrap]
[forwarddelete at <div style="white-space:pre-line">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-line">abc[\]</div>\\n<div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:pre-line">abc[\]</div><div class="preWrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="preLine">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=pre-line&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=nowrap&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=nowrap&right-white-space=pre]
[forwarddelete at <div style="white-space:nowrap">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:nowrap">abc[\]</div>\\n<div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:nowrap">abc[\]</div><div class="pre"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="nowrap">abc[\]</div><div style="white-space:pre"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=nowrap&right-white-space=pre-wrap]
[forwarddelete at <div style="white-space:nowrap">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:nowrap">abc[\]</div>\\n<div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:nowrap">abc[\]</div><div class="preWrap"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="nowrap">abc[\]</div><div style="white-space:pre-wrap"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=forwarddelete&left-white-space=nowrap&right-white-space=pre-line]
[forwarddelete at <div style="white-space:nowrap">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:nowrap">abc[\]</div>\\n<div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div style="white-space:nowrap">abc[\]</div><div class="preLine"><b>def</b>\\nghi</div>]
expected: FAIL
[forwarddelete at <div class="nowrap">abc[\]</div><div style="white-space:pre-line"><b>def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=normal&right-white-space=pre]
[delete at <div style="white-space:normal">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc[</div>\\n<div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc[</div><div class="pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=normal&right-white-space=pre-wrap]
[delete at <div style="white-space:normal">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc[</div>\\n<div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc[</div><div class="preWrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=normal&right-white-space=pre-line]
[delete at <div style="white-space:normal">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc[</div>\\n<div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:normal">abc[</div><div class="preLine"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=normal&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre&right-white-space=pre-wrap]
[delete at <div style="white-space:pre">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc[</div>\\n<div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc[</div><div class="preWrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="pre">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre&right-white-space=pre-line]
[delete at <div style="white-space:pre">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc[</div>\\n<div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre">abc[</div><div class="preLine"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="pre">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-wrap&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-wrap&right-white-space=pre]
[delete at <div style="white-space:pre-wrap">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc[</div>\\n<div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc[</div><div class="pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preWrap">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-wrap&right-white-space=pre-line]
[delete at <div style="white-space:pre-wrap">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc[</div>\\n<div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-wrap">abc[</div><div class="preLine"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preWrap">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-wrap&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-line&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-line&right-white-space=pre]
[delete at <div style="white-space:pre-line">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc[</div>\\n<div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc[</div><div class="pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preLine">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-line&right-white-space=pre-wrap]
[delete at <div style="white-space:pre-line">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc[</div>\\n<div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:pre-line">abc[</div><div class="preWrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="preLine">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=pre-line&right-white-space=nowrap]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=nowrap&right-white-space=normal]
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=nowrap&right-white-space=pre]
[delete at <div style="white-space:nowrap">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc[</div>\\n<div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc[</div><div class="pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="nowrap">abc[</div><div style="white-space:pre"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=nowrap&right-white-space=pre-wrap]
[delete at <div style="white-space:nowrap">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc[</div>\\n<div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc[</div><div class="preWrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="nowrap">abc[</div><div style="white-space:pre-wrap"><b>\]def</b>\\nghi</div>]
expected: FAIL
[join-different-white-space-style-paragraphs.html?method=select-boundary&left-white-space=nowrap&right-white-space=pre-line]
[delete at <div style="white-space:nowrap">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc[</div>\\n<div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div style="white-space:nowrap">abc[</div><div class="preLine"><b>\]def</b>\\nghi</div>]
expected: FAIL
[delete at <div class="nowrap">abc[</div><div style="white-space:pre-line"><b>\]def</b>\\nghi</div>]
expected: FAIL