From 635514453b5850381123b1b2f2b61147dc815395 Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Fri, 18 Sep 2015 14:47:48 -0700 Subject: [PATCH] Enable `TagHelper`s with `[RestrictChildren]` to log errors for no tag name tags. - Added test cases for situations when tags have no names. #534 --- .../TagHelpers/TagHelperParseTreeRewriter.cs | 17 +++++++++--- .../TagHelperParseTreeRewriterTest.cs | 26 ++++++++++++++++--- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNet.Razor/Parser/TagHelpers/TagHelperParseTreeRewriter.cs b/src/Microsoft.AspNet.Razor/Parser/TagHelpers/TagHelperParseTreeRewriter.cs index 3ebb79d415..d4962dd9e3 100644 --- a/src/Microsoft.AspNet.Razor/Parser/TagHelpers/TagHelperParseTreeRewriter.cs +++ b/src/Microsoft.AspNet.Razor/Parser/TagHelpers/TagHelperParseTreeRewriter.cs @@ -308,7 +308,18 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers.Internal { if (_currentTagHelperTracker?.AllowedChildren != null) { - OnAllowedChildrenTagError(_currentTagHelperTracker, tagBlock, errorSink); + var tagName = GetTagName(tagBlock); + + // Treat partial tags such as '"; var expectedOutput = new MarkupBlock( new MarkupTagHelperBlock("th:p", @@ -683,6 +681,28 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers nestedTagError("br", "p", "custom", 51, 2), nestedContentError("p", "custom", 56, 9) } + }, + { + "

", + new[] { "custom" }, + new MarkupBlock( + new MarkupTagHelperBlock("p", + blockFactory.MarkupTagBlock("<

", + new[] { "custom" }, + new MarkupBlock( + new MarkupTagHelperBlock("p", + blockFactory.MarkupTagBlock("<"))), + new[] + { + nestedContentError("p", "custom", 3, 1), + } } }; }