Skip to content

Commit

Permalink
Fix invalid cast with end script tag containing code (dotnet/razor#193)
Browse files Browse the repository at this point in the history
\n\nCommit migrated from dotnet/razor@56fa17b
  • Loading branch information
ajaybhargavb authored Feb 7, 2019
1 parent 73ca91f commit daeb4f8
Showing 1 changed file with 5 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1357,8 +1357,6 @@ private void ParseJavascriptAndEndScriptTag(in SyntaxListBuilder<RazorSyntaxNode
var tagStart = CurrentStart;
builder.Add(OutputAsMarkupLiteral());

SpanContext.EditHandler.AcceptedCharacters = endTagAcceptedCharacters;

var openAngleToken = EatCurrentToken(); // '<'
var forwardSlashToken = EatCurrentToken(); // '/'
var tagNameToken = EatCurrentToken(); // 'script'
Expand All @@ -1369,8 +1367,10 @@ private void ParseJavascriptAndEndScriptTag(in SyntaxListBuilder<RazorSyntaxNode
{
var miscAttributeBuilder = pooledResult.Builder;

ParseMarkupNodes(miscAttributeBuilder, ParseMode.Text, token => token.Kind == SyntaxKind.CloseAngle);
// We want to accept malformed end tags as content.
AcceptUntil(SyntaxKind.CloseAngle, SyntaxKind.OpenAngle);
miscAttributeBuilder.Add(OutputAsMarkupLiteral());

if (miscAttributeBuilder.Count > 0)
{
miscContent = SyntaxFactory.MarkupMiscAttributeContent(miscAttributeBuilder.ToList());
Expand All @@ -1390,6 +1390,8 @@ private void ParseJavascriptAndEndScriptTag(in SyntaxListBuilder<RazorSyntaxNode
}
}

SpanContext.EditHandler.AcceptedCharacters = endTagAcceptedCharacters;

endTag = SyntaxFactory.MarkupEndTag(
openAngleToken,
forwardSlashToken,
Expand Down

0 comments on commit daeb4f8

Please sign in to comment.