diff --git a/src/Microsoft.AspNetCore.Razor.Language/Legacy/TagHelperParseTreeRewriter.cs b/src/Microsoft.AspNetCore.Razor.Language/Legacy/TagHelperParseTreeRewriter.cs index 79b013f32d..73b545dd33 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Legacy/TagHelperParseTreeRewriter.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Legacy/TagHelperParseTreeRewriter.cs @@ -116,7 +116,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy continue; } } - else + else if (!IsCommentTag((Span)child)) { ValidateParentAllowsContent((Span)child, errorSink); } @@ -817,6 +817,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy return relevantSymbol.Type == HtmlSymbolType.ForwardSlash; } + private static bool IsCommentTag(Span span) + { + return span.Content.StartsWith(""; - string expectedOutput = $"
{literalPrefix}{commentOutput}asdf
"; + string expectedOutput = $"{literal}{commentOutput}
"; var pTagHelperBuilder = TagHelperDescriptorBuilder .Create("PTagHelper", "SomeAssembly") @@ -1127,7 +1127,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy var descriptors = new TagHelperDescriptor[] { - pTagHelperBuilder.Build() + pTagHelperBuilder.Build() }; var factory = new SpanFactory(); @@ -1135,7 +1135,10 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy var expectedMarkup = new MarkupBlock( new MarkupTagHelperBlock("p", - factory.Markup($"{literalPrefix}{commentOutput}"))); + blockFactory.MarkupTagBlock(""), + factory.Markup(literal), + blockFactory.MarkupTagBlock(""), + factory.Markup(commentOutput))); // Act & Assert EvaluateData(