fix textarea end tag parsing (#6424)

pull/6314/head
Tan Li Hau 3 years ago committed by GitHub
parent de6d0c66d3
commit 3acaa03f6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -221,9 +221,9 @@ export default function tag(parser: Parser) {
element.children = read_sequence(
parser,
() =>
parser.template.slice(parser.index, parser.index + 11) === '</textarea>'
/^<\/textarea(\s[^>]*)?>/i.test(parser.template.slice(parser.index))
);
parser.read(/<\/textarea>/);
parser.read(/^<\/textarea(\s[^>]*)?>/i);
element.end = parser.index;
} else if (name === 'script' || name === 'style') {
// special case

@ -0,0 +1,12 @@
<textarea>
<p>not actu </textar ally an element. {foo}</p>
</textare
> </textaread >asdf</textarea
</textarea
>

@ -0,0 +1,53 @@
{
"html": {
"start": 0,
"end": 117,
"type": "Fragment",
"children": [
{
"start": 0,
"end": 117,
"type": "Element",
"name": "textarea",
"attributes": [],
"children": [
{
"start": 10,
"end": 51,
"type": "Text",
"raw": "\n\t<p>not actu </textar ally an element. ",
"data": "\n\t<p>not actu </textar ally an element. "
},
{
"start": 50,
"end": 55,
"type": "MustacheTag",
"expression": {
"type": "Identifier",
"start": 51,
"end": 54,
"loc": {
"start": {
"line": 2,
"column": 40
},
"end": {
"line": 2,
"column": 43
}
},
"name": "foo"
}
},
{
"start": 55,
"end": 91,
"type": "Text",
"raw": "</p>\n</textare\n\n\n> </textaread >asdf",
"data": "</p>\n</textare\n\n\n> </textaread >asdf"
}
]
}
]
}
}
Loading…
Cancel
Save