tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Meditor/libeditor/tests/test_bug430392.html | 38+-------------------------------------
Mtesting/web-platform/meta/editing/run/delete.html.ini | 3+++
Mtesting/web-platform/tests/editing/data/delete.js | 10++++++++++
Mtesting/web-platform/tests/editing/data/insertlinebreak.js | 14++++++++++++++
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>[]&nbsp;; <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>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> " - synthesizeKey("KEY_Backspace"); - info(`1st Backspace: "${edit.innerHTML}"`); - // " <span contenteditable="false">A</span><br>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> " - synthesizeKey("KEY_Backspace"); - info(`2nd Backspace: "${edit.innerHTML}"`); - // " []&nbsp;; <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&nbsp;; B ; C " because when first - // <br> is inserted, the following white-space should be preserved as - // an &nbsp;. 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>[\]&nbsp;; <span contenteditable=\\"false\\">B</span> ; <span contenteditable=\\"false\\">C</span></div> " compare innerHTML] expected: FAIL + + [[["delete",""\]\] " <span contenteditable=\\"false\\">A</span><br>[\]&nbsp;; <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>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ', [true], {}], +[' <span contenteditable="false">A</span><br><br>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ', + [["delete",""]], + ' <span contenteditable="false">A</span><br>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ', + [true], + {}], +[' <span contenteditable="false">A</span><br>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ', + [["delete",""]], + ' <span contenteditable="false">A</span>&nbsp;; <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>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ', + [true], + {}], +[' <span contenteditable="false">A</span><br>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ', + [["insertlinebreak",""]], + ' <span contenteditable="false">A</span><br><br>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ', + [true], + {}], ]