commit 672423bb04aa4500c15d536956fee8ab523b2be1
parent 53fc4593a8adcdf13322a58c253637b28d19597e
Author: Masayuki Nakano <masayuki@d-toybox.com>
Date: Wed, 24 Dec 2025 02:05:51 +0000
Bug 2007052 - part 2: Port the second test of `test_bug430392.html` to WPT r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D277260
Diffstat:
4 files changed, 28 insertions(+), 37 deletions(-)
diff --git a/editor/libeditor/tests/test_bug430392.html b/editor/libeditor/tests/test_bug430392.html
@@ -33,43 +33,7 @@ function test() {
// and the test will be marked as an expected fail if the textContent changes
// to expectedValue, and an unexpected fail if it's neither the original value
// nor expectedValue.
- let tests = [
- [
- "adding shift-returns",
- () => {
- getSelection().collapse(edit.firstChild, 0); // [] <span contenteditable=false>A</span> ; <span
- synthesizeKey("KEY_ArrowRight"); // <span contenteditable=false>A</span>[] ; <span
- synthesizeKey("KEY_Enter", {shiftKey: true});
- info(`1st Shift+Enter: "${edit.innerHTML}"`);
- // " <span contenteditable="false">A</span><br>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> "
- synthesizeKey("KEY_Enter", {shiftKey: true});
- info(`2nd Shift+Enter: "${edit.innerHTML}"`);
- // " <span contenteditable="false">A</span><br><br>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> "
- synthesizeKey("KEY_Backspace");
- info(`1st Backspace: "${edit.innerHTML}"`);
- // " <span contenteditable="false">A</span><br>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> "
- synthesizeKey("KEY_Backspace");
- info(`2nd Backspace: "${edit.innerHTML}"`);
- // " [] ; <span contenteditable="false">A</span><span contenteditable="false">B</span> ; <span contenteditable="false">C</span> "
- }, [
- "insertLineBreak",
- "insertLineBreak",
- "deleteContentBackward",
- "deleteContentBackward",
- ], [
- "insertLineBreak",
- "insertLineBreak",
- "deleteContentBackward",
- "deleteContentBackward",
- ],
- // Actual expected result should be "A ; B ; C " because when first
- // <br> is inserted, the following white-space should be preserved as
- // an . Then, it should not be reconverted to a white-space after
- // Backspace.
- " \u00A0; AB ; C ",
- ],
- ];
-
+ let tests = [];
[
["insertorderedlist", "insertOrderedList"],
["insertunorderedlist", "insertUnorderedList"],
diff --git a/testing/web-platform/meta/editing/run/delete.html.ini b/testing/web-platform/meta/editing/run/delete.html.ini
@@ -669,3 +669,6 @@
[[["delete",""\]\] " <span contenteditable=\\"false\\">A</span><div>[\] ; <span contenteditable=\\"false\\">B</span> ; <span contenteditable=\\"false\\">C</span></div> " compare innerHTML]
expected: FAIL
+
+ [[["delete",""\]\] " <span contenteditable=\\"false\\">A</span><br>[\] ; <span contenteditable=\\"false\\">B</span> ; <span contenteditable=\\"false\\">C</span> " compare innerHTML]
+ expected: FAIL
diff --git a/testing/web-platform/tests/editing/data/delete.js b/testing/web-platform/tests/editing/data/delete.js
@@ -3531,4 +3531,14 @@ var browserTests = [
'<div> ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
[true],
{}],
+[' <span contenteditable="false">A</span><br><br>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [["delete",""]],
+ ' <span contenteditable="false">A</span><br> ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [true],
+ {}],
+[' <span contenteditable="false">A</span><br>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [["delete",""]],
+ ' <span contenteditable="false">A</span> ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [true],
+ {}],
]
diff --git a/testing/web-platform/tests/editing/data/insertlinebreak.js b/testing/web-platform/tests/editing/data/insertlinebreak.js
@@ -995,4 +995,18 @@ var browserTests = [
"<div style=\"display:inline-grid;white-space:pre\"><span>abc\n<br></span></div>",
[true],
{}],
+
+// The following tests are ported by Mozilla from their old test and the
+// expectations are based on Chrome's behavior unless the behavior does not
+// make sense.
+[' <span contenteditable="false">A</span>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [["insertlinebreak",""]],
+ ' <span contenteditable="false">A</span><br> ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [true],
+ {}],
+[' <span contenteditable="false">A</span><br>[] ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [["insertlinebreak",""]],
+ ' <span contenteditable="false">A</span><br><br> ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
+ [true],
+ {}],
]