File tree 2 files changed +11
-1
lines changed
2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -1812,6 +1812,16 @@ foo
1812
1812
`\n foo bar `
1813
1813
)
1814
1814
} )
1815
+
1816
+ it ( 'should NOT condense whitespaces in RCDATA text mode' , ( ) => {
1817
+ const ast = baseParse ( `<textarea>Text:\n foo</textarea>` , {
1818
+ getTextMode : ( { tag } ) =>
1819
+ tag === 'textarea' ? TextModes . RCDATA : TextModes . DATA
1820
+ } )
1821
+ const preElement = ast . children [ 0 ] as ElementNode
1822
+ expect ( preElement . children ) . toHaveLength ( 1 )
1823
+ expect ( ( preElement . children [ 0 ] as TextNode ) . content ) . toBe ( `Text:\n foo` )
1824
+ } )
1815
1825
} )
1816
1826
1817
1827
describe ( 'Errors' , ( ) => {
Original file line number Diff line number Diff line change @@ -205,7 +205,7 @@ function parseChildren(
205
205
// Whitespace management for more efficient output
206
206
// (same as v2 whitespace: 'condense')
207
207
let removedWhitespace = false
208
- if ( mode !== TextModes . RAWTEXT ) {
208
+ if ( mode !== TextModes . RAWTEXT && mode !== TextModes . RCDATA ) {
209
209
for ( let i = 0 ; i < nodes . length ; i ++ ) {
210
210
const node = nodes [ i ]
211
211
if ( ! context . inPre && node . type === NodeTypes . TEXT ) {
You can’t perform that action at this time.
0 commit comments