>>
", + new MarkupBlock( + blockFactory.MarkupTagBlock("<"), + blockFactory.MarkupTagBlock("<"), + new MarkupTagHelperBlock("p", + factory.Markup(">>"))) + }, + { + "<", + new MarkupBlock( + blockFactory.MarkupTagBlock("<"), + new MarkupTagHelperBlock("p")) + }, + { + "< p />", + new MarkupBlock( + blockFactory.MarkupTagBlock("< p />")) + }, + { + "", + new MarkupBlock( + blockFactory.MarkupTagBlock("", + new MarkupBlock( + new MarkupTagBlock( + factory.Markup("<"), + new MarkupBlock( + new AttributeBlockCodeGenerator( + name: "class", + prefix: new LocationTagged/>
>", + new MarkupBlock( + blockFactory.MarkupTagBlock(""), + blockFactory.MarkupTagBlock("<"), + new MarkupTagHelperBlock("p", + factory.Markup("/>")), + factory.Markup(">")) + }, + { + "</>
>", + new MarkupBlock( + blockFactory.MarkupTagBlock(""), + blockFactory.MarkupTagBlock("<"), + new MarkupTagHelperBlock("p", + factory.Markup("/>"), + blockFactory.MarkupTagBlock("")), + factory.Markup(">")) + }, + { + "<@DateTime.Now/>
>", + new MarkupBlock( + blockFactory.MarkupTagBlock(""), + blockFactory.MarkupTagBlock("<"), + new MarkupTagHelperBlock("p", + dateTimeNow, + factory.Markup("/>"), + blockFactory.MarkupTagBlock("")), + factory.Markup(">")) + }, + { + " /< >@DateTime.Now / >
>", + new MarkupBlock( + blockFactory.MarkupTagBlock(" "), + factory.Markup("/"), + blockFactory.MarkupTagBlock("< >"), + new MarkupTagHelperBlock("p", + dateTimeNow, + factory.Markup(" / >"), + blockFactory.MarkupTagBlock("")), + blockFactory.MarkupTagBlock(" >")) + }, + { + "< @DateTime.Now > @DateTime.Now >
", + new MarkupBlock( + new MarkupTagHelperBlock("p", + new MarkupTagBlock( + factory.Markup("< "), + dateTimeNow, + factory.Markup(" >")), + blockFactory.MarkupTagBlock(" "), + dateTimeNow, + factory.Markup(" >"))) + } + }; + } + } + + [Theory] + [MemberData(nameof(InvalidHtmlBlockData))] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml(string documentContent, MarkupBlock expectedOutput) + { + RunParseTreeRewriterTest(documentContent, expectedOutput, "p"); + } + public static IEnumerable