fix textarea end tag parsing

pull/6424/head
tanhauhau 5 years ago
parent 17c5402e31
commit c84499926a

@ -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.index + 11))
);
parser.read(/<\/textarea>/);
parser.read(/<\/textarea\s*>/i);
element.end = parser.index;
} else if (name === 'script' || name === 'style') {
// special case

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

@ -0,0 +1,53 @@
{
"html": {
"start": 0,
"end": 94,
"type": "Fragment",
"children": [
{
"start": 0,
"end": 94,
"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": 78,
"type": "Text",
"raw": "</p>\n</textare\n\n\n> asdf",
"data": "</p>\n</textare\n\n\n> asdf"
}
]
}
]
}
}
Loading…
Cancel
Save