From 41b7d90ea8bf4e633c2e24542e55424a8ab80072 Mon Sep 17 00:00:00 2001 From: Artak Mkrtchyan Date: Mon, 12 Feb 2018 22:03:53 -0800 Subject: [PATCH] Ignoring markup comments during validation --- .../Legacy/TagHelperParseTreeRewriter.cs | 7 ++++++- .../Legacy/TagHelperParseTreeRewriterTest.cs | 11 +++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) 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(