From dc6d12e6f1a543b3e2ee26951b82f1b0e4d3c7e6 Mon Sep 17 00:00:00 2001 From: Konv Suu <2583695112@qq.com> Date: Tue, 19 May 2026 04:25:13 +0800 Subject: [PATCH] Fix broken closing tag of pre-like elements (#19046) --- changelog_unreleased/html/19046.md | 26 +++ src/language-html/print/element.js | 8 + .../angular/__snapshots__/format.test.js.snap | 156 ++++++------------ .../basics/__snapshots__/format.test.js.snap | 30 ++-- .../tags/__snapshots__/format.test.js.snap | 79 ++++++++- tests/format/html/tags/pre.html | 7 + .../vue/vue/__snapshots__/format.test.js.snap | 9 +- 7 files changed, 179 insertions(+), 136 deletions(-) create mode 100644 changelog_unreleased/html/19046.md diff --git a/changelog_unreleased/html/19046.md b/changelog_unreleased/html/19046.md new file mode 100644 index 000000000..cfddbf83a --- /dev/null +++ b/changelog_unreleased/html/19046.md @@ -0,0 +1,26 @@ +#### Fix closing tag of pre-like elements being split across lines (#19046 by @kovsu) + + +```html + +
+ Content ++
+ Content ++
+ Content ++
pre pr -e+e +e-wrap looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog inline @@ -758,12 +756,10 @@ e-wrap block
pre pr -e+e +e-wrap looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog inline @@ -798,12 +794,10 @@ e-wrap block
pre pr -e+e +e-wrap looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog inline @@ -838,12 +832,10 @@ e-wrap block
pre pr -e+e +e-wrap looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog inline @@ -878,12 +870,10 @@ e-wrap block
pre pr -e+e +e-wrap looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog inline diff --git a/tests/format/html/tags/__snapshots__/format.test.js.snap b/tests/format/html/tags/__snapshots__/format.test.js.snap index c3fe12f87..01568fb95 100644 --- a/tests/format/html/tags/__snapshots__/format.test.js.snap +++ b/tests/format/html/tags/__snapshots__/format.test.js.snap @@ -1307,6 +1307,13 @@ ___________________________
long long long text long long long text long long long text long long long text
+ +
long long long text long long long text long long long text long long long text
+ Content ++
-------------------------------------------------------------------------------- @@ -1420,6 +1427,13 @@ ___________________________
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ ================================================================================ `; @@ -1531,6 +1545,13 @@ ___________________________+ Content ++
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ =====================================output=====================================+ Content ++-------------------------------------------------------------------------------- @@ -1644,6 +1665,13 @@ ___________________________
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ ================================================================================ `; @@ -1754,6 +1782,13 @@ ___________________________+ Content ++
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ =====================================output=====================================+ Content ++-------------------------------------------------------------------------------- @@ -1857,6 +1892,13 @@ ___________________________
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ ================================================================================ `; @@ -1968,6 +2010,13 @@ ___________________________+ Content ++
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ =====================================output=====================================+ Content ++-------------------------------------------------------------------------------- @@ -2007,8 +2056,7 @@ ___________________________- Foo Bar+ Foo BarFoo Bar@@ -2016,8 +2064,7 @@ ___________________________ Foo Bar- Foo Bar+ Foo Bar
+ +
long long long text long long long text long long long text long long long text
+ Content ++
long long long text long long long text long long long text long long long text
+ +
long long long text long long long text long long long text long long long text
+ Content ++
-------------------------------------------------------------------------------- @@ -2328,6 +2389,13 @@ ___________________________+ ================================================================================ @@ -3101,8 +3100,7 @@ trailingComma: "es5" wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123 - + ================================================================================ @@ -3206,8 +3204,7 @@ trailingComma: "none" wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123 - + ================================================================================
long long long text long long long text long long long text long long long text+ +
long long long text long long long text long long long text long long long text++ ================================================================================ `; @@ -5119,8 +5187,7 @@ printWidth: 1+ Content +++lorem ipsum================================================================================ diff --git a/tests/format/html/tags/pre.html b/tests/format/html/tags/pre.html index 0c026accd..17ec09c29 100644 --- a/tests/format/html/tags/pre.html +++ b/tests/format/html/tags/pre.html @@ -99,3 +99,10 @@ ___________________________
long long long text long long long text long long long text long long long text+ + +
long long long text long long long text long long long text long long long text+diff --git a/tests/format/vue/vue/__snapshots__/format.test.js.snap b/tests/format/vue/vue/__snapshots__/format.test.js.snap index 9d4bbeb78..b398c9691 100644 --- a/tests/format/vue/vue/__snapshots__/format.test.js.snap +++ b/tests/format/vue/vue/__snapshots__/format.test.js.snap @@ -2996,8 +2996,7 @@ semi: false wqeqwwqwqweqweqwewwq || wqeqwwqwqweqweqwewwq }}123 -+ Content ++