From 984e7826d655a7339f45e1ac2758c39cf945cf26 Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Thu, 28 Jun 2018 18:13:27 -0700 Subject: [PATCH] Converted TagHelperParseTreeRewriterTest --- .../Legacy/TagHelperParseTreeRewriterTest.cs | 5004 +++++------------ .../Legacy/TagHelperRewritingTestBase.cs | 15 + ...e_AllowsPrefixedTagHelpers1.syntaxtree.txt | 8 + ..._AllowsPrefixedTagHelpers10.syntaxtree.txt | 12 + ..._AllowsPrefixedTagHelpers11.syntaxtree.txt | 13 + ...e_AllowsPrefixedTagHelpers2.syntaxtree.txt | 18 + ...e_AllowsPrefixedTagHelpers3.syntaxtree.txt | 3 + ...e_AllowsPrefixedTagHelpers4.syntaxtree.txt | 3 + ...e_AllowsPrefixedTagHelpers5.syntaxtree.txt | 14 + ...e_AllowsPrefixedTagHelpers6.syntaxtree.txt | 11 + ...e_AllowsPrefixedTagHelpers7.syntaxtree.txt | 18 + ...e_AllowsPrefixedTagHelpers8.syntaxtree.txt | 6 + ...e_AllowsPrefixedTagHelpers9.syntaxtree.txt | 6 + ...lowsRazorCommentsAsChildren.syntaxtree.txt | 27 + ...owsRazorMarkupInHtmlComment.syntaxtree.txt | 32 + ...impleHtmlCommentsAsChildren.syntaxtree.txt | 28 + ...lock_WithAttributeTextTag1.diagnostics.txt | 2 + ...Block_WithAttributeTextTag1.syntaxtree.txt | 30 + ...Block_WithAttributeTextTag2.syntaxtree.txt | 43 + ...Block_WithAttributeTextTag3.syntaxtree.txt | 49 + ...Block_WithAttributeTextTag4.syntaxtree.txt | 53 + ...Block_WithAttributeTextTag5.syntaxtree.txt | 56 + ...arpBlock_WithBlockTextTag1.diagnostics.txt | 2 + ...harpBlock_WithBlockTextTag1.syntaxtree.txt | 19 + ...arpBlock_WithBlockTextTag2.diagnostics.txt | 1 + ...harpBlock_WithBlockTextTag2.syntaxtree.txt | 24 + ...harpBlock_WithBlockTextTag3.syntaxtree.txt | 32 + ...harpBlock_WithBlockTextTag4.syntaxtree.txt | 38 + ...arpBlock_WithBlockTextTag5.diagnostics.txt | 2 + ...harpBlock_WithBlockTextTag5.syntaxtree.txt | 29 + ...arpBlock_WithBlockTextTag6.diagnostics.txt | 1 + ...harpBlock_WithBlockTextTag6.syntaxtree.txt | 29 + ...harpBlock_WithBlockTextTag7.syntaxtree.txt | 34 + ...arpBlock_WithBlockTextTag8.diagnostics.txt | 2 + ...harpBlock_WithBlockTextTag8.syntaxtree.txt | 33 + ...arpBlock_WithBlockTextTag9.diagnostics.txt | 2 + ...harpBlock_WithBlockTextTag9.syntaxtree.txt | 39 + ...lementOptForIncompleteHTML1.syntaxtree.txt | 4 + ...lementOptForIncompleteHTML2.syntaxtree.txt | 8 + ...lementOptForIncompleteHTML3.syntaxtree.txt | 10 + ...lementOptForIncompleteHTML4.syntaxtree.txt | 13 + ...lementOptForIncompleteHTML5.syntaxtree.txt | 16 + ...lementOptForIncompleteHTML6.syntaxtree.txt | 18 + ...lementOptForIncompleteHTML7.syntaxtree.txt | 21 + ...completeHTMLInCSharpBlock1.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock1.syntaxtree.txt | 16 + ...completeHTMLInCSharpBlock2.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock2.syntaxtree.txt | 16 + ...completeHTMLInCSharpBlock3.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock3.syntaxtree.txt | 21 + ...completeHTMLInCSharpBlock4.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock4.syntaxtree.txt | 23 + ...completeHTMLInCSharpBlock5.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock5.syntaxtree.txt | 24 + ...completeHTMLInCSharpBlock6.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock6.syntaxtree.txt | 31 + ...completeHTMLInCSharpBlock7.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock7.syntaxtree.txt | 29 + ...completeHTMLInCSharpBlock8.diagnostics.txt | 2 + ...ncompleteHTMLInCSharpBlock8.syntaxtree.txt | 32 + ...pleteTextTagInCSharpBlock1.diagnostics.txt | 2 + ...mpleteTextTagInCSharpBlock1.syntaxtree.txt | 16 + ...pleteTextTagInCSharpBlock2.diagnostics.txt | 2 + ...mpleteTextTagInCSharpBlock2.syntaxtree.txt | 21 + ...pleteTextTagInCSharpBlock3.diagnostics.txt | 2 + ...mpleteTextTagInCSharpBlock3.syntaxtree.txt | 23 + ...pleteTextTagInCSharpBlock4.diagnostics.txt | 2 + ...mpleteTextTagInCSharpBlock4.syntaxtree.txt | 24 + ...pleteTextTagInCSharpBlock5.diagnostics.txt | 2 + ...mpleteTextTagInCSharpBlock5.syntaxtree.txt | 29 + ...pleteTextTagInCSharpBlock6.diagnostics.txt | 2 + ...mpleteTextTagInCSharpBlock6.syntaxtree.txt | 32 + ...tCSharp_WithAttributeData1.diagnostics.txt | 2 + ...utCSharp_WithAttributeData1.syntaxtree.txt | 30 + ...utCSharp_WithAttributeData2.syntaxtree.txt | 43 + ...utCSharp_WithAttributeData3.syntaxtree.txt | 49 + ...utCSharp_WithAttributeData4.syntaxtree.txt | 53 + ...utCSharp_WithAttributeData5.syntaxtree.txt | 56 + ...ptOutCSharp_WithBlockData1.diagnostics.txt | 2 + ...OptOutCSharp_WithBlockData1.syntaxtree.txt | 19 + ...tOutCSharp_WithBlockData10.diagnostics.txt | 4 + ...ptOutCSharp_WithBlockData10.syntaxtree.txt | 33 + ...ptOutCSharp_WithBlockData11.syntaxtree.txt | 35 + ...tOutCSharp_WithBlockData12.diagnostics.txt | 6 + ...ptOutCSharp_WithBlockData12.syntaxtree.txt | 53 + ...ptOutCSharp_WithBlockData2.diagnostics.txt | 1 + ...OptOutCSharp_WithBlockData2.syntaxtree.txt | 24 + ...OptOutCSharp_WithBlockData3.syntaxtree.txt | 32 + ...OptOutCSharp_WithBlockData4.syntaxtree.txt | 38 + ...ptOutCSharp_WithBlockData5.diagnostics.txt | 2 + ...OptOutCSharp_WithBlockData5.syntaxtree.txt | 29 + ...ptOutCSharp_WithBlockData6.diagnostics.txt | 2 + ...OptOutCSharp_WithBlockData6.syntaxtree.txt | 26 + ...OptOutCSharp_WithBlockData7.syntaxtree.txt | 34 + ...ptOutCSharp_WithBlockData8.diagnostics.txt | 3 + ...OptOutCSharp_WithBlockData8.syntaxtree.txt | 30 + ...ptOutCSharp_WithBlockData9.diagnostics.txt | 2 + ...OptOutCSharp_WithBlockData9.syntaxtree.txt | 39 + ...tOutHTML_WithAttributeData1.syntaxtree.txt | 20 + ...tOutHTML_WithAttributeData2.syntaxtree.txt | 29 + ...tOutHTML_WithAttributeData3.syntaxtree.txt | 35 + ...tOutHTML_WithAttributeData4.syntaxtree.txt | 39 + ...tOutHTML_WithAttributeData5.syntaxtree.txt | 42 + ...ntOptOutHTML_WithBlockData1.syntaxtree.txt | 9 + ...tOptOutHTML_WithBlockData10.syntaxtree.txt | 12 + ...tOptOutHTML_WithBlockData11.syntaxtree.txt | 20 + ...OptOutHTML_WithBlockData12.diagnostics.txt | 1 + ...tOptOutHTML_WithBlockData12.syntaxtree.txt | 31 + ...ntOptOutHTML_WithBlockData2.syntaxtree.txt | 10 + ...ntOptOutHTML_WithBlockData3.syntaxtree.txt | 18 + ...ntOptOutHTML_WithBlockData4.syntaxtree.txt | 24 + ...tOptOutHTML_WithBlockData5.diagnostics.txt | 1 + ...ntOptOutHTML_WithBlockData5.syntaxtree.txt | 15 + ...tOptOutHTML_WithBlockData6.diagnostics.txt | 1 + ...ntOptOutHTML_WithBlockData6.syntaxtree.txt | 12 + ...ntOptOutHTML_WithBlockData7.syntaxtree.txt | 20 + ...tOptOutHTML_WithBlockData8.diagnostics.txt | 1 + ...ntOptOutHTML_WithBlockData8.syntaxtree.txt | 20 + ...tOptOutHTML_WithBlockData9.diagnostics.txt | 1 + ...ntOptOutHTML_WithBlockData9.syntaxtree.txt | 24 + ...alidChildrenWithWhitespace.diagnostics.txt | 1 + ...validChildrenWithWhitespace.syntaxtree.txt | 25 + ...gHelpersWithAllowedChildren.syntaxtree.txt | 11 + ...WithAllowedChildren_OneNull.syntaxtree.txt | 11 + ...andleStartTagOnlyTagTagMode.syntaxtree.txt | 3 + ...rInconsistentTagStructures.diagnostics.txt | 1 + ...orInconsistentTagStructures.syntaxtree.txt | 3 + ...dTagTagStructureForEndTags.diagnostics.txt | 1 + ...ndTagTagStructureForEndTags.syntaxtree.txt | 7 + ...ildrenWhenFeatureFlagIsOff.diagnostics.txt | 3 + ...hildrenWhenFeatureFlagIsOff.syntaxtree.txt | 13 + ...tentWithCommentsAsChildren.diagnostics.txt | 1 + ...ntentWithCommentsAsChildren.syntaxtree.txt | 25 + ...NonTagHelperTags_Correctly.diagnostics.txt | 1 + ...dNonTagHelperTags_Correctly.syntaxtree.txt | 24 + ...edChildrenAndRequireParent.diagnostics.txt | 1 + ...wedChildrenAndRequireParent.syntaxtree.txt | 9 + ...teTagHelperBlocksCorrectly1.syntaxtree.txt | 17 + ...eTagHelperBlocksCorrectly10.syntaxtree.txt | 44 + ...teTagHelperBlocksCorrectly2.syntaxtree.txt | 17 + ...teTagHelperBlocksCorrectly3.syntaxtree.txt | 28 + ...teTagHelperBlocksCorrectly4.syntaxtree.txt | 28 + ...teTagHelperBlocksCorrectly5.syntaxtree.txt | 22 + ...teTagHelperBlocksCorrectly6.syntaxtree.txt | 22 + ...teTagHelperBlocksCorrectly7.syntaxtree.txt | 22 + ...teTagHelperBlocksCorrectly8.syntaxtree.txt | 22 + ...teTagHelperBlocksCorrectly9.syntaxtree.txt | 44 + ...perPrefixAndAllowedChildren.syntaxtree.txt | 14 + ...matchAndRestrictedChildren.diagnostics.txt | 1 + ...smatchAndRestrictedChildren.syntaxtree.txt | 15 + ...edTagHelperBlocksCorrectly1.syntaxtree.txt | 5 + ...TagHelperBlocksCorrectly10.diagnostics.txt | 2 + ...dTagHelperBlocksCorrectly10.syntaxtree.txt | 9 + ...dTagHelperBlocksCorrectly2.diagnostics.txt | 2 + ...edTagHelperBlocksCorrectly2.syntaxtree.txt | 6 + ...dTagHelperBlocksCorrectly3.diagnostics.txt | 2 + ...edTagHelperBlocksCorrectly3.syntaxtree.txt | 9 + ...edTagHelperBlocksCorrectly4.syntaxtree.txt | 11 + ...dTagHelperBlocksCorrectly5.diagnostics.txt | 1 + ...edTagHelperBlocksCorrectly5.syntaxtree.txt | 6 + ...dTagHelperBlocksCorrectly6.diagnostics.txt | 1 + ...edTagHelperBlocksCorrectly6.syntaxtree.txt | 9 + ...dTagHelperBlocksCorrectly7.diagnostics.txt | 2 + ...edTagHelperBlocksCorrectly7.syntaxtree.txt | 11 + ...dTagHelperBlocksCorrectly8.diagnostics.txt | 2 + ...edTagHelperBlocksCorrectly8.syntaxtree.txt | 14 + ...dTagHelperBlocksCorrectly9.diagnostics.txt | 2 + ...edTagHelperBlocksCorrectly9.syntaxtree.txt | 6 + ...teTagHelperBlocksCorrectly1.syntaxtree.txt | 8 + ...eTagHelperBlocksCorrectly10.syntaxtree.txt | 6 + ...eTagHelperBlocksCorrectly11.syntaxtree.txt | 13 + ...eTagHelperBlocksCorrectly12.syntaxtree.txt | 12 + ...eTagHelperBlocksCorrectly13.syntaxtree.txt | 19 + ...eTagHelperBlocksCorrectly14.syntaxtree.txt | 19 + ...eTagHelperBlocksCorrectly15.syntaxtree.txt | 23 + ...eTagHelperBlocksCorrectly16.syntaxtree.txt | 9 + ...eTagHelperBlocksCorrectly17.syntaxtree.txt | 16 + ...eTagHelperBlocksCorrectly18.syntaxtree.txt | 15 + ...eTagHelperBlocksCorrectly19.syntaxtree.txt | 8 + ...teTagHelperBlocksCorrectly2.syntaxtree.txt | 12 + ...eTagHelperBlocksCorrectly20.syntaxtree.txt | 16 + ...eTagHelperBlocksCorrectly21.syntaxtree.txt | 14 + ...eTagHelperBlocksCorrectly22.syntaxtree.txt | 29 + ...eTagHelperBlocksCorrectly23.syntaxtree.txt | 25 + ...eTagHelperBlocksCorrectly24.syntaxtree.txt | 9 + ...eTagHelperBlocksCorrectly25.syntaxtree.txt | 15 + ...eTagHelperBlocksCorrectly26.syntaxtree.txt | 11 + ...eTagHelperBlocksCorrectly27.syntaxtree.txt | 17 + ...eTagHelperBlocksCorrectly28.syntaxtree.txt | 23 + ...eTagHelperBlocksCorrectly29.syntaxtree.txt | 39 + ...teTagHelperBlocksCorrectly3.syntaxtree.txt | 8 + ...eTagHelperBlocksCorrectly30.syntaxtree.txt | 28 + ...teTagHelperBlocksCorrectly4.syntaxtree.txt | 12 + ...teTagHelperBlocksCorrectly5.syntaxtree.txt | 6 + ...teTagHelperBlocksCorrectly6.syntaxtree.txt | 13 + ...teTagHelperBlocksCorrectly7.syntaxtree.txt | 12 + ...teTagHelperBlocksCorrectly8.syntaxtree.txt | 19 + ...teTagHelperBlocksCorrectly9.syntaxtree.txt | 23 + ...UnderstandsAllowedChildren1.syntaxtree.txt | 5 + ...derstandsAllowedChildren10.diagnostics.txt | 5 + ...nderstandsAllowedChildren10.syntaxtree.txt | 30 + ...derstandsAllowedChildren11.diagnostics.txt | 2 + ...nderstandsAllowedChildren11.syntaxtree.txt | 39 + ...derstandsAllowedChildren12.diagnostics.txt | 1 + ...nderstandsAllowedChildren12.syntaxtree.txt | 7 + ...derstandsAllowedChildren13.diagnostics.txt | 1 + ...nderstandsAllowedChildren13.syntaxtree.txt | 6 + ...derstandsAllowedChildren14.diagnostics.txt | 1 + ...nderstandsAllowedChildren14.syntaxtree.txt | 31 + ...UnderstandsAllowedChildren2.syntaxtree.txt | 9 + ...nderstandsAllowedChildren3.diagnostics.txt | 1 + ...UnderstandsAllowedChildren3.syntaxtree.txt | 5 + ...nderstandsAllowedChildren4.diagnostics.txt | 1 + ...UnderstandsAllowedChildren4.syntaxtree.txt | 5 + ...nderstandsAllowedChildren5.diagnostics.txt | 1 + ...UnderstandsAllowedChildren5.syntaxtree.txt | 10 + ...nderstandsAllowedChildren6.diagnostics.txt | 2 + ...UnderstandsAllowedChildren6.syntaxtree.txt | 7 + ...nderstandsAllowedChildren7.diagnostics.txt | 3 + ...UnderstandsAllowedChildren7.syntaxtree.txt | 11 + ...nderstandsAllowedChildren8.diagnostics.txt | 2 + ...UnderstandsAllowedChildren8.syntaxtree.txt | 11 + ...nderstandsAllowedChildren9.diagnostics.txt | 2 + ...UnderstandsAllowedChildren9.syntaxtree.txt | 16 + ...standsNestedRequiredParent1.syntaxtree.txt | 12 + ...standsNestedRequiredParent2.syntaxtree.txt | 5 + ...standsNestedRequiredParent3.syntaxtree.txt | 14 + ...standsNestedRequiredParent4.syntaxtree.txt | 23 + ...standsNestedRequiredParent5.syntaxtree.txt | 16 + ...dSelfClosingRequiredParent1.syntaxtree.txt | 14 + ...dSelfClosingRequiredParent2.syntaxtree.txt | 7 + ...dSelfClosingRequiredParent3.syntaxtree.txt | 10 + ...dSelfClosingRequiredParent4.syntaxtree.txt | 12 + ...dSelfClosingRequiredParent5.syntaxtree.txt | 14 + ...dSelfClosingRequiredParent6.syntaxtree.txt | 7 + ...dSelfClosingRequiredParent7.syntaxtree.txt | 12 + ...dSelfClosingRequiredParent8.syntaxtree.txt | 14 + ...AllowedChildrenForCatchAll.diagnostics.txt | 1 + ...hAllowedChildrenForCatchAll.syntaxtree.txt | 7 + ...ldrenForCatchAllWithPrefix.diagnostics.txt | 1 + ...ildrenForCatchAllWithPrefix.syntaxtree.txt | 7 + ...PartialRequiredParentTags1.diagnostics.txt | 2 + ...sPartialRequiredParentTags1.syntaxtree.txt | 5 + ...PartialRequiredParentTags2.diagnostics.txt | 1 + ...sPartialRequiredParentTags2.syntaxtree.txt | 5 + ...PartialRequiredParentTags3.diagnostics.txt | 2 + ...sPartialRequiredParentTags3.syntaxtree.txt | 7 + ...PartialRequiredParentTags4.diagnostics.txt | 2 + ...sPartialRequiredParentTags4.syntaxtree.txt | 21 + ...PartialRequiredParentTags5.diagnostics.txt | 1 + ...sPartialRequiredParentTags5.syntaxtree.txt | 21 + ...PartialRequiredParentTags6.diagnostics.txt | 1 + ...sPartialRequiredParentTags6.syntaxtree.txt | 24 + ...perPrefixAndAllowedChildren.syntaxtree.txt | 5 + ...wedChildrenAndRequireParent.syntaxtree.txt | 5 + ...ewriteSpecialTagTagHelpers1.syntaxtree.txt | 26 + ...ewriteSpecialTagTagHelpers2.syntaxtree.txt | 29 + ...ewriteSpecialTagTagHelpers3.syntaxtree.txt | 23 + ...ewriteSpecialTagTagHelpers4.syntaxtree.txt | 26 + ...ewriteSpecialTagTagHelpers5.syntaxtree.txt | 25 + ...ewriteSpecialTagTagHelpers6.syntaxtree.txt | 24 + ...ewriteSpecialTagTagHelpers7.syntaxtree.txt | 26 + ...ewriteSpecialTagTagHelpers8.syntaxtree.txt | 29 + ...extTagTransitionTagHelpers1.syntaxtree.txt | 7 + ...extTagTransitionTagHelpers2.syntaxtree.txt | 30 + ...extTagTransitionTagHelpers3.syntaxtree.txt | 32 + ...extTagTransitionTagHelpers4.syntaxtree.txt | 23 + ...InvalidHtmlTypedScriptTags1.syntaxtree.txt | 23 + ...InvalidHtmlTypedScriptTags2.syntaxtree.txt | 31 + ...InvalidHtmlTypedScriptTags3.syntaxtree.txt | 34 + ...InvalidHtmlTypedScriptTags4.syntaxtree.txt | 43 + ...esNestedTagHelperTagBlocks1.syntaxtree.txt | 5 + ...esNestedTagHelperTagBlocks2.syntaxtree.txt | 10 + ...esNestedTagHelperTagBlocks3.syntaxtree.txt | 17 + ...esNestedTagHelperTagBlocks4.syntaxtree.txt | 35 + ...lpersInHtmlTypedScriptTags1.syntaxtree.txt | 27 + ...lpersInHtmlTypedScriptTags2.syntaxtree.txt | 47 + ...lpersInHtmlTypedScriptTags3.syntaxtree.txt | 53 + ...lpersInHtmlTypedScriptTags4.syntaxtree.txt | 59 + .../Language/Legacy/SyntaxTreeNodeWriter.cs | 13 +- 280 files changed, 5688 insertions(+), 3741 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers11.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorCommentsAsChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorMarkupInHtmlComment.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsSimpleHtmlCommentsAsChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData11.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData11.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleStartTagOnlyTagTagMode.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly10.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren13.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren13.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags1.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers5.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers6.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers7.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers8.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks4.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags1.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags2.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags3.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags4.syntaxtree.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperParseTreeRewriterTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperParseTreeRewriterTest.cs index 3f37c82c4d..3cc644cacb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperParseTreeRewriterTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperParseTreeRewriterTest.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Globalization; using System.Linq; using Xunit; @@ -11,6 +10,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class TagHelperParseTreeRewriterTest : TagHelperRewritingTestBase { + public TagHelperParseTreeRewriterTest() + { + UseBaselineTests = true; + } + public static TheoryData GetAttributeNameValuePairsData { get @@ -68,289 +72,191 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy Assert.Equal(expectedPairs, pairs); } - public static TheoryData PartialRequiredParentData + public static TagHelperDescriptor[] PartialRequiredParentTags_Descriptors = new TagHelperDescriptor[] { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - Func errorFormatUnclosed = (location, tagName) => - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(location, 0, location), tagName.Length), tagName); + TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("strong")) + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("div")) + .Build(), + TagHelperDescriptorBuilder.Create("CatchALlTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("*")) + .Build(), + TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) + .Build(), + }; - Func errorFormatNoCloseAngle = (location, tagName) => - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(location, 0, location), tagName.Length), tagName); - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong"))), - new[] { errorFormatUnclosed(1, "p"), errorFormatUnclosed(4, "strong") } - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong"))), - new[] { errorFormatUnclosed(1, "p") } - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong")), - new MarkupTagHelperBlock("strong")), - new[] { errorFormatUnclosed(4, "strong"), errorFormatUnclosed(16, "strong") } - }, - { - "<

<

", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("strong", - blockFactory.MarkupTagBlock(""))), - new[] { errorFormatNoCloseAngle(17, "strong"), errorFormatUnclosed(25, "strong") } - }, - { - "<

<

", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("strong", - blockFactory.MarkupTagBlock(""))), - new[] { errorFormatUnclosed(26, "strong") } - }, - - { - "<

<

", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("custom", - blockFactory.MarkupTagBlock(""))), - new[] { errorFormatUnclosed(27, "custom") } - }, - }; - } + [Fact] + public void Rewrite_UnderstandsPartialRequiredParentTags1() + { + var document = "

"; + EvaluateData(PartialRequiredParentTags_Descriptors, document); } - [Theory] - [MemberData(nameof(PartialRequiredParentData))] - public void Rewrite_UnderstandsPartialRequiredParentTags( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_UnderstandsPartialRequiredParentTags2() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("strong")) - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("div")) - .Build(), - TagHelperDescriptorBuilder.Create("CatchALlTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("*")) - .Build(), - TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) - .Build(), - }; - - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors); + var document = "

"; + EvaluateData(PartialRequiredParentTags_Descriptors, document); } - public static TheoryData NestedVoidSelfClosingRequiredParentData + [Fact] + public void Rewrite_UnderstandsPartialRequiredParentTags3() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("")) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - new MarkupTagHelperBlock("strong"))) - }, - { - "


", - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("
"), - new MarkupTagHelperBlock("strong"))) - }, - { - "


", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("
")), - new MarkupTagHelperBlock("strong"))) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("")) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("input", TagMode.SelfClosing), - new MarkupTagHelperBlock("strong", TagMode.SelfClosing))) - }, - { - "


", - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("
"), - new MarkupTagHelperBlock("strong", TagMode.SelfClosing))) - }, - { - "


", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock("
")), - new MarkupTagHelperBlock("strong", TagMode.SelfClosing))) - }, - }; - } + var document = "

"; + EvaluateData(PartialRequiredParentTags_Descriptors, document); } - [Theory] - [MemberData(nameof(NestedVoidSelfClosingRequiredParentData))] - public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_UnderstandsPartialRequiredParentTags4() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("input") - .RequireTagStructure(TagStructure.WithoutEndTag)) - .Build(), - TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("strong") - .RequireParentTag("p")) - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("strong") - .RequireParentTag("input")) - .Build(), - TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) - .Build(), - }; - - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + var document = "<

<

"; + EvaluateData(PartialRequiredParentTags_Descriptors, document); } - public static TheoryData NestedRequiredParentData + [Fact] + public void Rewrite_UnderstandsPartialRequiredParentTags5() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput - return new TheoryData - { - { - "", - new MarkupBlock( - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("")) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong"))) - }, - { - "
", - new MarkupBlock( - blockFactory.MarkupTagBlock("
"), - new MarkupTagHelperBlock("strong"), - blockFactory.MarkupTagBlock("
")) - }, - { - "", - new MarkupBlock( - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("")) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("")))) - }, - }; - } + var document = "<

<

"; + EvaluateData(PartialRequiredParentTags_Descriptors, document); } - [Theory] - [MemberData(nameof(NestedRequiredParentData))] - public void Rewrite_UnderstandsNestedRequiredParent(string documentContent, object expectedOutput) + [Fact] + public void Rewrite_UnderstandsPartialRequiredParentTags6() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("strong") - .RequireParentTag("p")) - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("strong") - .RequireParentTag("div")) - .Build(), - TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) - .Build(), - }; + var document = "<

<

"; + EvaluateData(PartialRequiredParentTags_Descriptors, document); + } - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + public static TagHelperDescriptor[] NestedVoidSelfClosingRequiredParent_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("input") + .RequireTagStructure(TagStructure.WithoutEndTag)) + .Build(), + TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("strong") + .RequireParentTag("p")) + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("strong") + .RequireParentTag("input")) + .Build(), + TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) + .Build(), + }; + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent1() + { + var document = ""; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent2() + { + var document = "

"; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent3() + { + var document = "


"; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent4() + { + var document = "


"; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent5() + { + var document = ""; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent6() + { + var document = "

"; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent7() + { + var document = "


"; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent8() + { + var document = "


"; + EvaluateData(NestedVoidSelfClosingRequiredParent_Descriptors, document); + } + + public static TagHelperDescriptor[] NestedRequiredParent_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("strong") + .RequireParentTag("p")) + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("strong") + .RequireParentTag("div")) + .Build(), + TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) + .Build(), + }; + + [Fact] + public void Rewrite_UnderstandsNestedRequiredParent1() + { + var document = ""; + EvaluateData(NestedRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedRequiredParent2() + { + var document = "

"; + EvaluateData(NestedRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedRequiredParent3() + { + var document = "
"; + EvaluateData(NestedRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedRequiredParent4() + { + var document = ""; + EvaluateData(NestedRequiredParent_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsNestedRequiredParent5() + { + var document = "

"; + EvaluateData(NestedRequiredParent_Descriptors, document); } [Fact] @@ -358,9 +264,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange var documentContent = ""; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("th:p", - new MarkupTagHelperBlock("th:strong"))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") @@ -376,8 +279,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy EvaluateData( descriptors, documentContent, - expectedOutput, - expectedErrors: Enumerable.Empty(), tagHelperPrefix: "th:"); } @@ -386,9 +287,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange var documentContent = ""; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("th:p", - new MarkupTagHelperBlock("th:strong"))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") @@ -404,8 +302,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy EvaluateData( descriptors, documentContent, - expectedOutput, - expectedErrors: Enumerable.Empty(), tagHelperPrefix: "th:"); } @@ -414,10 +310,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange var documentContent = ""; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("th:p", - new MarkupTagBlock( - Factory.Markup("")))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") @@ -428,18 +320,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy .TagMatchingRuleDescriptor(rule => rule.RequireTagName("strong").RequireParentTag("p")) .Build(), }; - var expectedErrors = new[] { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(filePath: null, absoluteIndex: 8, lineIndex: 0, characterIndex: 8, length: 9), - "th:strong"), - }; // Act & Assert EvaluateData( descriptors, documentContent, - expectedOutput, - expectedErrors: expectedErrors, tagHelperPrefix: "th:"); } @@ -448,12 +333,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange var documentContent = ""; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("th:p", - new MarkupTagBlock( - Factory.Markup("")), - new MarkupTagBlock( - Factory.Markup("")))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") @@ -466,298 +345,71 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy EvaluateData( descriptors, documentContent, - expectedOutput, - expectedErrors: Enumerable.Empty(), tagHelperPrefix: "th:"); } - public static TheoryData InvalidHtmlScriptBlockData + [Fact] + public void TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - blockFactory.MarkupTagBlock("")) - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" types='", 7, 0, 7), - suffix: new LocationTagged("'", 24, 0, 24)), - factory.Markup(" types='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 15, 0, 15), - value: new LocationTagged("text/html", 15, 0, 15))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup(""), - blockFactory.MarkupTagBlock("")) - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" type='", 7, 0, 7), - suffix: new LocationTagged("'", 31, 0, 31)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 14, 0, 14), - value: new LocationTagged("text/html", 14, 0, 14))), - factory.Markup(" invalid").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 23, 0, 23), - value: new LocationTagged("invalid", 24, 0, 24))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup(""), - blockFactory.MarkupTagBlock("")) - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" type='", 7, 0, 7), - suffix: new LocationTagged("'", 23, 0, 23)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/ng-*").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 14, 0, 14), - value: new LocationTagged("text/ng-*", 14, 0, 14))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "type", - prefix: new LocationTagged(" type='", 24, 0, 24), - suffix: new LocationTagged("'", 40, 0, 40)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 31, 0, 31), - value: new LocationTagged("text/html", 31, 0, 31))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup(""), - blockFactory.MarkupTagBlock("")) - }, - }; - } + var document = ""; + RunParseTreeRewriterTest(document, "input"); } - [Theory] - [MemberData(nameof(InvalidHtmlScriptBlockData))] - public void TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags( - string documentContent, - object expectedOutput) + [Fact] + public void TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "input"); + var document = ""; + RunParseTreeRewriterTest(document, "input"); } - public static TheoryData HtmlScriptBlockData + [Fact] + public void TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" type='", 7, 0, 7), - suffix: new LocationTagged("'", 23, 0, 23)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 14, 0, 14), - value: new LocationTagged("text/html", 14, 0, 14))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - new MarkupTagHelperBlock("input", TagMode.SelfClosing), - blockFactory.MarkupTagBlock("")) - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" id='", 7, 0, 7), - suffix: new LocationTagged("'", 21, 0, 21)), - factory.Markup(" id='").With(SpanChunkGenerator.Null), - factory.Markup("scriptTag").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 12, 0, 12), - value: new LocationTagged("scriptTag", 12, 0, 12))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "type", - prefix: new LocationTagged(" type='", 22, 0, 22), - suffix: new LocationTagged("'", 38, 0, 38)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 29, 0, 29), - value: new LocationTagged("text/html", 29, 0, 29))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 39, 0, 39), - suffix: new LocationTagged("'", 56, 0, 56)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("something").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 47, 0, 47), - value: new LocationTagged("something", 47, 0, 47))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - new MarkupTagHelperBlock("input", TagMode.SelfClosing), - blockFactory.MarkupTagBlock("")) - }, - { - "

", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" type='", 7, 0, 7), - suffix: new LocationTagged("'", 23, 0, 23)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 14, 0, 14), - value: new LocationTagged("text/html", 14, 0, 14))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - new MarkupTagHelperBlock("p", - new MarkupTagBlock( - factory.Markup("(" type='", 35, 0, 35), - suffix: new LocationTagged("'", 51, 0, 51)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 42, 0, 42), - value: new LocationTagged("text/html", 42, 0, 42))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - new MarkupTagHelperBlock("input", TagMode.SelfClosing), - blockFactory.MarkupTagBlock("")), - blockFactory.MarkupTagBlock("")) - }, - { - "

", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" type='", 7, 0, 7), - suffix: new LocationTagged("'", 23, 0, 23)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 14, 0, 14), - value: new LocationTagged("text/html", 14, 0, 14))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - new MarkupTagHelperBlock("p", - new MarkupTagBlock( - factory.Markup("(" type='", 35, 0, 35), - suffix: new LocationTagged("'", 52, 0, 52)), - factory.Markup(" type='").With(SpanChunkGenerator.Null), - factory.Markup("text/").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 42, 0, 42), - value: new LocationTagged("text/", 42, 0, 42))), - factory.Markup(" html").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 47, 0, 47), - value: new LocationTagged("html", 48, 0, 48))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup(""), - blockFactory.MarkupTagBlock("")), - blockFactory.MarkupTagBlock("")) - }, - }; - } + var document = ""; + RunParseTreeRewriterTest(document, "input"); } - [Theory] - [MemberData(nameof(HtmlScriptBlockData))] - public void TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags( - string documentContent, - object expectedOutput) + [Fact] + public void TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p", "input"); + var document = ""; + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags1() + { + var document = ""; + RunParseTreeRewriterTest(document, "p", "input"); + } + + [Fact] + public void TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags2() + { + var document = ""; + RunParseTreeRewriterTest(document, "p", "input"); + } + + [Fact] + public void TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags3() + { + var document = "

"; + RunParseTreeRewriterTest(document, "p", "input"); + } + + [Fact] + public void TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags4() + { + var document = "

"; + RunParseTreeRewriterTest(document, "p", "input"); } [Fact] public void Rewrite_CanHandleInvalidChildrenWithWhitespace() { // Arrange - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); var documentContent = $"

{Environment.NewLine} {Environment.NewLine} Hello" + $"{Environment.NewLine} {Environment.NewLine}

"; - var newLineLength = Environment.NewLine.Length; - var expectedErrors = new[] { - RazorDiagnosticFactory.CreateTagHelper_InvalidNestedTag( - new SourceSpan(absoluteIndex: 8 + newLineLength, lineIndex: 1, characterIndex: 5, length: 6), "strong", "p", "br"), - }; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup(Environment.NewLine + " "), - blockFactory.MarkupTagBlock(""), - factory.Markup(Environment.NewLine + " Hello" + Environment.NewLine + " "), - blockFactory.MarkupTagBlock(""), - factory.Markup(Environment.NewLine))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") @@ -767,29 +419,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors); + EvaluateData(descriptors, documentContent); } [Fact] public void Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren() { // Arrange - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); var documentContent = ""; - - var expectedErrors = new[] { - RazorDiagnosticFactory.CreateTagHelper_InvalidNestedTag( - new SourceSpan(absoluteIndex: 18, lineIndex: 0, characterIndex: 18, length: 6), "strong", "strong", "br") - }; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("strong", - new List - { - new TagHelperAttributeNode("required", null, AttributeStructure.Minimized) - }, - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") @@ -802,20 +439,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors); + EvaluateData(descriptors, documentContent); } [Fact] public void Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren_OneNull() { // Arrange - var factory = new SpanFactory(); var documentContent = "

Hello World

"; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", - factory.Markup("Hello World")), - new MarkupTagHelperBlock("br", TagMode.StartTagOnly))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper1", "SomeAssembly") @@ -838,20 +469,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors: new RazorDiagnostic[0]); + EvaluateData(descriptors, documentContent); } [Fact] public void Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren() { // Arrange - var factory = new SpanFactory(); var documentContent = "

Hello World

"; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", - factory.Markup("Hello World")), - new MarkupTagHelperBlock("br", TagMode.StartTagOnly))); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("PTagHelper1", "SomeAssembly") @@ -874,214 +499,165 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors: new RazorDiagnostic[0]); + EvaluateData(descriptors, documentContent); } - public static TheoryData AllowedChildrenData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - Func nestedTagError = - (childName, parentName, allowed, location, length) => - RazorDiagnosticFactory.CreateTagHelper_InvalidNestedTag( - new SourceSpan(absoluteIndex: location, lineIndex: 0, characterIndex: location, length: length), childName, parentName, allowed); - Func nestedContentError = - (parentName, allowed, location, length) => - RazorDiagnosticFactory.CreateTagHelper_CannotHaveNonTagContent( - new SourceSpan(absoluteIndex: location, lineIndex: 0, characterIndex: location, length: length), parentName, allowed); - - return new TheoryData, MarkupBlock, RazorDiagnostic[]> - { - { - "


", - new[] { "br" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("br", TagMode.SelfClosing))), - new RazorDiagnostic[0] - }, - { - $"

{Environment.NewLine}
{Environment.NewLine}

", - new[] { "br" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup(Environment.NewLine), - new MarkupTagHelperBlock("br", TagMode.SelfClosing), - factory.Markup(Environment.NewLine))), - new RazorDiagnostic[0] - }, - { - "


", - new[] { "strong" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("br", TagMode.StartTagOnly))), - new[] { nestedTagError("br", "p", "strong", 4, 2) } - }, - { - "

Hello

", - new[] { "strong" }, - new MarkupBlock(new MarkupTagHelperBlock("p", factory.Markup("Hello"))), - new[] { nestedContentError("p", "strong", 3, 5) } - }, - { - "


", - new[] { "br", "strong" }, - new MarkupBlock(new MarkupTagHelperBlock("p", blockFactory.MarkupTagBlock("
"))), - new[] { nestedTagError("hr", "p", "br, strong", 4, 2) } - }, - { - "


Hello

", - new[] { "strong" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("br", TagMode.StartTagOnly), - factory.Markup("Hello"))), - new[] { nestedTagError("br", "p", "strong", 4, 2), nestedContentError("p", "strong", 7, 5) } - }, - { - "

Title:
Something

", - new[] { "strong" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", factory.Markup("Title:")), - new MarkupTagHelperBlock("br", TagMode.SelfClosing), - factory.Markup("Something"))), - new[] - { - nestedContentError("strong", "strong", 11, 6), - nestedTagError("br", "p", "strong", 27, 2), - nestedContentError("p", "strong", 32, 9), - } - }, - { - "

Title:
Something

", - new[] { "strong", "br" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", factory.Markup("Title:")), - new MarkupTagHelperBlock("br", TagMode.SelfClosing), - factory.Markup("Something"))), - new[] - { - nestedContentError("strong", "strong, br", 11, 6), - nestedContentError("p", "strong, br", 32, 9), - } - }, - { - "

Title:
Something

", - new[] { "strong", "br" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup(" "), - new MarkupTagHelperBlock("strong", factory.Markup("Title:")), - factory.Markup(" "), - new MarkupTagHelperBlock("br", TagMode.SelfClosing), - factory.Markup(" Something"))), - new[] - { - nestedContentError("strong", "strong, br", 13, 6), - nestedContentError("p", "strong, br", 38, 9), - } - }, - { - "

Title:
A Very Cool

Something

", - new[] { "strong" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", - factory.Markup("Title:"), - new MarkupTagHelperBlock("br", TagMode.StartTagOnly), - blockFactory.MarkupTagBlock(""), - factory.Markup("A Very Cool"), - blockFactory.MarkupTagBlock("")), - new MarkupTagHelperBlock("br", TagMode.SelfClosing), - factory.Markup("Something"))), - new[] - { - nestedContentError("strong", "strong", 11, 6), - nestedTagError("br", "strong", "strong", 18, 2), - nestedTagError("em", "strong", "strong", 22, 2), - nestedTagError("br", "p", "strong", 51, 2), - nestedContentError("p", "strong", 56, 9) - } - }, - { - "

Title:
A Very Cool

Something

", - new[] { "custom" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock(""), - factory.Markup("Title:"), - new MarkupTagHelperBlock("br", TagMode.StartTagOnly), - blockFactory.MarkupTagBlock(""), - factory.Markup("A Very Cool"), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - new MarkupTagHelperBlock("br", TagMode.SelfClosing), - factory.Markup("Something"))), - new[] - { - 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), - } - }, - { - "


:Hello:

", - new[] { "custom", "strong" }, - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock(""), - new MarkupTagHelperBlock("br", TagMode.StartTagOnly), - factory.Markup(":"), - new MarkupTagHelperBlock("strong", - new MarkupTagHelperBlock("strong", - factory.Markup("Hello"))), - factory.Markup(":"), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""))), - new[] - { - nestedContentError("strong", "custom, strong", 32, 5), - } - }, - }; - } - } - - [Theory] - [MemberData(nameof(AllowedChildrenData))] - public void Rewrite_UnderstandsAllowedChildren( - string documentContent, - IEnumerable allowedChildren, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_UnderstandsAllowedChildren1() { // Arrange + var documentContent = "


"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "br" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren2() + { + // Arrange + var documentContent = $"

{Environment.NewLine}
{Environment.NewLine}

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "br" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren3() + { + // Arrange + var documentContent = "


"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren4() + { + // Arrange + var documentContent = "

Hello

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren5() + { + // Arrange + var documentContent = "


"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "br", "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren6() + { + // Arrange + var documentContent = "


Hello

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren7() + { + // Arrange + var documentContent = "

Title:
Something

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren8() + { + // Arrange + var documentContent = "

Title:
Something

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong", "br" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren9() + { + // Arrange + var documentContent = "

Title:
Something

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong", "br" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren10() + { + // Arrange + var documentContent = "

Title:
A Very Cool

Something

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren11() + { + // Arrange + var documentContent = "

Title:
A Very Cool

Something

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "custom" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren12() + { + // Arrange + var documentContent = "

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "custom" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren13() + { + // Arrange + var documentContent = "

<

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "custom" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + [Fact] + public void Rewrite_UnderstandsAllowedChildren14() + { + // Arrange + var documentContent = "


:Hello:

"; + var descriptors = GetAllowedChildrenTagHelperDescriptors(new[] { "custom", "strong" }); + + // Act & Assert + EvaluateData(descriptors, documentContent); + } + + private TagHelperDescriptor[] GetAllowedChildrenTagHelperDescriptors(string[] allowedChildren) + { var pTagHelperBuilder = TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")); var strongTagHelperBuilder = TagHelperDescriptorBuilder.Create("StrongTagHelper", "SomeAssembly") @@ -1104,18 +680,17 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy .Build(), }; - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors); + return descriptors; } [Fact] public void Rewrite_AllowsSimpleHtmlCommentsAsChildren() { // Arrange - IEnumerable allowedChildren = new List { "b" }; - string literal = "asdf"; - string commentOutput = "Hello World"; - string expectedOutput = $"

{literal}

"; + var allowedChildren = new List { "b" }; + var literal = "asdf"; + var commentOutput = "Hello World"; + var document = $"

{literal}

"; var pTagHelperBuilder = TagHelperDescriptorBuilder .Create("PTagHelper", "SomeAssembly") @@ -1130,40 +705,17 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy pTagHelperBuilder.Build() }; - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - var expectedMarkup = new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock(""), - factory.Markup(literal), - blockFactory.MarkupTagBlock(""), - blockFactory.HtmlCommentBlock(commentOutput))); - // Act & Assert - EvaluateData( - descriptors, - expectedOutput, - expectedMarkup, - Array.Empty()); + EvaluateData(descriptors, document); } [Fact] public void Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff() { // Arrange - Func nestedTagError = - (childName, parentName, allowed, location, length) => - RazorDiagnosticFactory.CreateTagHelper_InvalidNestedTag( - new SourceSpan(absoluteIndex: location, lineIndex: 0, characterIndex: location, length: length), childName, parentName, allowed); - Func nestedContentError = - (parentName, allowed, location, length) => - RazorDiagnosticFactory.CreateTagHelper_CannotHaveNonTagContent( - new SourceSpan(absoluteIndex: location, lineIndex: 0, characterIndex: location, length: length), parentName, allowed); - - IEnumerable allowedChildren = new List { "b" }; - string comment1 = "Hello"; - string expectedOutput = $"

"; + var allowedChildren = new List { "b" }; + var comment1 = "Hello"; + var document = $"

"; var pTagHelperBuilder = TagHelperDescriptorBuilder .Create("PTagHelper", "SomeAssembly") @@ -1178,24 +730,10 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy pTagHelperBuilder.Build() }; - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - var expectedMarkup = new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.HtmlCommentBlock(comment1))); - // Act & Assert EvaluateData( descriptors, - expectedOutput, - expectedMarkup, - new[] - { - nestedContentError("p", "b", 3, 4), - nestedContentError("p", "b", 7, 5), - nestedContentError("p", "b", 12, 3), - }, + document, featureFlags: RazorParserFeatureFlags.Create(RazorLanguageVersion.Version_2_0)); } @@ -1203,20 +741,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy public void Rewrite_FailsForContentWithCommentsAsChildren() { // Arrange - Func nestedTagError = - (childName, parentName, allowed, location, length) => - RazorDiagnosticFactory.CreateTagHelper_InvalidNestedTag( - new SourceSpan(absoluteIndex: location, lineIndex: 0, characterIndex: location, length: length), childName, parentName, allowed); - Func nestedContentError = - (parentName, allowed, location, length) => - RazorDiagnosticFactory.CreateTagHelper_CannotHaveNonTagContent( - new SourceSpan(absoluteIndex: location, lineIndex: 0, characterIndex: location, length: length), parentName, allowed); - - IEnumerable allowedChildren = new List { "b" }; - string comment1 = "Hello"; - string literal = "asdf"; - string comment2 = "World"; - string expectedOutput = $"

{literal}

"; + var allowedChildren = new List { "b" }; + var comment1 = "Hello"; + var literal = "asdf"; + var comment2 = "World"; + var document = $"

{literal}

"; var pTagHelperBuilder = TagHelperDescriptorBuilder .Create("PTagHelper", "SomeAssembly") @@ -1231,34 +760,18 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy pTagHelperBuilder.Build() }; - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - var expectedMarkup = new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.HtmlCommentBlock(comment1), - factory.Markup(literal), - blockFactory.HtmlCommentBlock(comment2))); - // Act & Assert - EvaluateData( - descriptors, - expectedOutput, - expectedMarkup, - new[] - { - nestedContentError("p", "b", 15, 4), - }); + EvaluateData(descriptors, document); } [Fact] public void Rewrite_AllowsRazorCommentsAsChildren() { // Arrange - IEnumerable allowedChildren = new List { "b" }; - string literal = "asdf"; - string commentOutput = $"@*{literal}*@"; - string expectedOutput = $"

{literal}{commentOutput}

"; + var allowedChildren = new List { "b" }; + var literal = "asdf"; + var commentOutput = $"@*{literal}*@"; + var document = $"

{literal}{commentOutput}

"; var pTagHelperBuilder = TagHelperDescriptorBuilder .Create("PTagHelper", "SomeAssembly") @@ -1273,40 +786,21 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy pTagHelperBuilder.Build() }; - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - var expectedMarkup = new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock(""), - factory.Markup(literal), - blockFactory.MarkupTagBlock(""), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition).Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar).Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol(literal, HtmlSymbolType.RazorComment)).Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar).Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition).Accepts(AcceptedCharactersInternal.None)))); - // Act & Assert - EvaluateData( - descriptors, - expectedOutput, - expectedMarkup, - Array.Empty()); + EvaluateData(descriptors, document); } [Fact] public void Rewrite_AllowsRazorMarkupInHtmlComment() { // Arrange - IEnumerable allowedChildren = new List { "b" }; - string literal = "asdf"; - string part1 = "Hello "; - string part2 = "World"; - string commentStart = ""; - string expectedOutput = $"

{literal}{commentStart}{part1}@{part2}{commentEnd}

"; + var allowedChildren = new List { "b" }; + var literal = "asdf"; + var part1 = "Hello "; + var part2 = "World"; + var commentStart = ""; + var document = $"

{literal}{commentStart}{part1}@{part2}{commentEnd}

"; var pTagHelperBuilder = TagHelperDescriptorBuilder .Create("PTagHelper", "SomeAssembly") @@ -1321,28 +815,8 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy pTagHelperBuilder.Build() }; - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - var expectedMarkup = new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock(""), - factory.Markup(literal), - blockFactory.MarkupTagBlock(""), - BlockFactory.HtmlCommentBlock(factory, f => new SyntaxTreeNode[] { - f.Markup(part1).Accepts(AcceptedCharactersInternal.WhiteSpace), - new ExpressionBlock( - f.CodeTransition(), - f.Code(part2) - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)) }))); - // Act & Assert - EvaluateData( - descriptors, - expectedOutput, - expectedMarkup, - Array.Empty()); + EvaluateData(descriptors, document); } [Fact] @@ -1360,17 +834,9 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy .TagMatchingRuleDescriptor(rule => rule.RequireTagName("*")) .Build(), }; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("p", - BlockFactory.MarkupTagBlock(" rule.RequireTagName("*")) .Build(), }; - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock("th:p", - BlockFactory.MarkupTagBlock(""; - var expectedOutput = new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.StartTagOnly)); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") @@ -1418,22 +875,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors: new RazorDiagnostic[0]); + EvaluateData(descriptors, documentContent); } [Fact] public void Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags() { // Arrange - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var expectedError = RazorDiagnosticFactory.CreateParsing_TagHelperMustNotHaveAnEndTag( - new SourceSpan(filePath: null, absoluteIndex: 2, lineIndex: 0, characterIndex: 2, length: 5), - "input", - "InputTagHelper", - TagStructure.WithoutEndTag); var documentContent = ""; - var expectedOutput = new MarkupBlock(blockFactory.MarkupTagBlock("")); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") @@ -1445,19 +894,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors: new[] { expectedError }); + EvaluateData(descriptors, documentContent); } [Fact] public void Rewrite_CreatesErrorForInconsistentTagStructures() { // Arrange - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var expectedError = RazorDiagnosticFactory.CreateTagHelper_InconsistentTagStructure( - new SourceSpan(absoluteIndex: 0, lineIndex: 0, characterIndex: 0, length: 7), "InputTagHelper1", "InputTagHelper2", "input"); var documentContent = ""; - var expectedOutput = new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.StartTagOnly)); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("InputTagHelper1", "SomeAssembly") @@ -1475,2872 +919,960 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy }; // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors: new[] { expectedError }); + EvaluateData(descriptors, documentContent); } - public static TheoryData RequiredAttributeData + public static TagHelperDescriptor[] RequiredAttribute_Descriptors = new TagHelperDescriptor[] { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var dateTimeNow = new Func(index => - new MarkupBlock( - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged( - string.Empty, - new SourceLocation(index, 0, index)), - new SourceLocation(index, 0, index)), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace))))); + TagHelperDescriptorBuilder.Create("pTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("p") + .RequireAttributeDescriptor(attribute => attribute.Name("class"))) + .Build(), + TagHelperDescriptorBuilder.Create("divTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("div") + .RequireAttributeDescriptor(attribute => attribute.Name("class")) + .RequireAttributeDescriptor(attribute => attribute.Name("style"))) + .Build(), + TagHelperDescriptorBuilder.Create("catchAllTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("*") + .RequireAttributeDescriptor(attribute => attribute.Name("catchAll"))) + .Build() + }; - // documentContent, expectedOutput - return new TheoryData - { - { - "

", - new MarkupBlock(blockFactory.MarkupTagBlock("

")) - }, - { - "

", - new MarkupBlock( - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

")) - }, - { - "
", - new MarkupBlock(blockFactory.MarkupTagBlock("
")) - }, - { - "
", - new MarkupBlock( - blockFactory.MarkupTagBlock("
"), - blockFactory.MarkupTagBlock("
")) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - })) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", dateTimeNow(10)) - })) - }, - { - "

words and spaces

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: factory.Markup("words and spaces"))) - }, - { - "

words and spaces

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", dateTimeNow(10)) - }, - children: factory.Markup("words and spaces"))) - }, - { - "

wordsandspaces

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new SyntaxTreeNode[] - { - factory.Markup("words"), - blockFactory.MarkupTagBlock(""), - factory.Markup("and"), - blockFactory.MarkupTagBlock(""), - factory.Markup("spaces") - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("catchAll", dateTimeNow(18)) - })) - }, - { - "words and spaces", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: factory.Markup("words and spaces"))) - }, - { - "words and spaces", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", dateTimeNow(18)) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" class=\"", 4, 0, 4), - suffix: new LocationTagged("\"", 15, 0, 15)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 12, 0, 12), - value: new LocationTagged("btn", 12, 0, 12))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(" />"))) - }, - { - "
", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("(" class=\"", 4, 0, 4), - suffix: new LocationTagged("\"", 15, 0, 15)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 12, 0, 12), - value: new LocationTagged("btn", 12, 0, 12))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - blockFactory.MarkupTagBlock("
")) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("notRequired", factory.Markup("a")), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("notRequired", dateTimeNow(16)), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })) - }, - { - "

words and spaces

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("notRequired", factory.Markup("a")), - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })) - }, - { - "
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("style", dateTimeNow(12)), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })) - }, - { - "
words and spaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
words and spaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", dateTimeNow(12)), - new TagHelperAttributeNode("class", dateTimeNow(34)) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
wordsandspaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new SyntaxTreeNode[] - { - factory.Markup("words"), - blockFactory.MarkupTagBlock(""), - factory.Markup("and"), - blockFactory.MarkupTagBlock(""), - factory.Markup("spaces") - })) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")), - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - })) - }, - { - "

words and spaces

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")), - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")), - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - })) - }, - { - "
words and spaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")), - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
words and spaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")), - new TagHelperAttributeNode("catchAll", - new MarkupBlock( - new MarkupBlock( - factory.Markup("@").Accepts(AcceptedCharactersInternal.None), - factory.Markup("@").With(SpanChunkGenerator.Null).Accepts(AcceptedCharactersInternal.None)), - factory.Markup("hi"))), - }, - children: factory.Markup("words and spaces"))) - }, - { - "
words and " + - "spaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", dateTimeNow(12)), - new TagHelperAttributeNode("class", dateTimeNow(34)), - new TagHelperAttributeNode("catchAll", dateTimeNow(59)) - }, - children: factory.Markup("words and spaces"))) - }, - { - "
wordsandspaces
", - new MarkupBlock( - new MarkupTagHelperBlock( - "div", - attributes: new List - { - new TagHelperAttributeNode("style", new MarkupBlock()), - new TagHelperAttributeNode("class", factory.Markup("btn")), - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new SyntaxTreeNode[] - { - factory.Markup("words"), - blockFactory.MarkupTagBlock(""), - factory.Markup("and"), - blockFactory.MarkupTagBlock(""), - factory.Markup("spaces") - })) - }, - }; - } + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1() + { + EvaluateData(RequiredAttribute_Descriptors, "

"); } - [Theory] - [MemberData(nameof(RequiredAttributeData))] - public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("pTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("p") - .RequireAttributeDescriptor(attribute => attribute.Name("class"))) - .Build(), - TagHelperDescriptorBuilder.Create("divTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("div") - .RequireAttributeDescriptor(attribute => attribute.Name("class")) - .RequireAttributeDescriptor(attribute => attribute.Name("style"))) - .Build(), - TagHelperDescriptorBuilder.Create("catchAllTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("*") - .RequireAttributeDescriptor(attribute => attribute.Name("catchAll"))) - .Build() - }; - - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + EvaluateData(RequiredAttribute_Descriptors, "

"); } - public static TheoryData NestedRequiredAttributeData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var dateTimeNow = new MarkupBlock( - new MarkupBlock( - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)))); - - // documentContent, expectedOutput - return new TheoryData - { - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new[] - { - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

") - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new SyntaxTreeNode[] - { - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - })) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new[] - { - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("
"), - })) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new SyntaxTreeNode[] - { - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("

"), - })) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new[] - { - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

") - }))) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new[] - { - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - }))) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new[] - { - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

") - }))) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new[] - { - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - }))) - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new[] - { - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

"), - new MarkupTagHelperBlock( - "p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: new[] - { - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

") - }), - blockFactory.MarkupTagBlock("

"), - blockFactory.MarkupTagBlock("

"), - })) - }, - { - "" + - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new[] - { - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - new MarkupTagHelperBlock( - "strong", - attributes: new List - { - new TagHelperAttributeNode("catchAll", factory.Markup("hi")) - }, - children: new[] - { - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - }), - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""), - })) - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "
"); } - [Theory] - [MemberData(nameof(NestedRequiredAttributeData))] - public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("pTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("p") - .RequireAttributeDescriptor(attribute => attribute.Name("class"))) - .Build(), - TagHelperDescriptorBuilder.Create("catchAllTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("*") - .RequireAttributeDescriptor(attribute => attribute.Name("catchAll"))) - .Build(), - }; - - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + EvaluateData(RequiredAttribute_Descriptors, "
"); } - public static TheoryData MalformedRequiredAttributeData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - " - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

- { - new TagHelperAttributeNode("notRequired", factory.Markup("hi")), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

"), - blockFactory.MarkupTagBlock(" - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(17, 0, 17), contentLength: 1), "p") - } - }, - { - "

- { - new TagHelperAttributeNode("notRequired", factory.Markup("hi")), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(34, 0, 34), contentLength: 1), "p") - } - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: blockFactory.MarkupTagBlock("

"))), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - } - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - attributes: new List - { - new TagHelperAttributeNode("notRequired", factory.Markup("hi")), - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: blockFactory.MarkupTagBlock("

"))), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - } - }, - { - "

- { - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(17, 0, 17), contentLength: 1), "p") - } - }, - { - "

- { - new TagHelperAttributeNode("notRequired", factory.Markup("hi")), - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(34, 0, 34), contentLength: 1), "p") - } - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

"); } - [Theory] - [MemberData(nameof(MalformedRequiredAttributeData))] - public void Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("pTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("p") - .RequireAttributeDescriptor(attribute => attribute.Name("class"))) - .Build(), - }; - - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors); + EvaluateData(RequiredAttribute_Descriptors, "

"); } - public static TheoryData PrefixedTagHelperBoundData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var availableDescriptorsColon = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("mythTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("myth")) - .Build(), - TagHelperDescriptorBuilder.Create("mythTagHelper2", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("myth2")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("bound") - .PropertyName("Bound") - .TypeName(typeof(bool).FullName)) - .Build() - }; - var availableDescriptorsCatchAll = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("mythTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("*")) - .Build(), - }; - - // documentContent, expectedOutput, availableDescriptors - return new TheoryData> - { - { - "", - new MarkupBlock(blockFactory.MarkupTagBlock("")), - availableDescriptorsCatchAll - }, - { - "words and spaces", - new MarkupBlock( - blockFactory.MarkupTagBlock(""), - factory.Markup("words and spaces"), - blockFactory.MarkupTagBlock("")), - availableDescriptorsCatchAll - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("th:myth", tagMode: TagMode.SelfClosing)), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("th:myth")), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "th:myth", - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock(""))), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "th:myth />")), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "th:myth>"), - blockFactory.EscapedMarkupTagBlock("")), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "th:myth", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "th:myth2", - tagMode: TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - })), - availableDescriptorsColon - }, - { - "words and spaces", - new MarkupBlock( - new MarkupTagHelperBlock( - "th:myth", - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("btn")) - }, - children: factory.Markup("words and spaces"))), - availableDescriptorsColon - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "th:myth2", - tagMode: TagMode.SelfClosing, - attributes: new List - { - { - new TagHelperAttributeNode( - "bound", - new MarkupBlock( - new MarkupBlock( - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: true) - .Accepts(AcceptedCharactersInternal.AnyExceptNewline))))) - } - })), - availableDescriptorsColon - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

words and spaces

"); } - [Theory] - [MemberData(nameof(PrefixedTagHelperBoundData))] - public void Rewrite_AllowsPrefixedTagHelpers( - string documentContent, - object expectedOutput, - object availableDescriptors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8() { - // Act & Assert - EvaluateData( - (IEnumerable)availableDescriptors, - documentContent, - (MarkupBlock)expectedOutput, - expectedErrors: Enumerable.Empty(), - tagHelperPrefix: "th:"); + EvaluateData(RequiredAttribute_Descriptors, "

words and spaces

"); } - public static TheoryData OptOut_WithAttributeTextTagData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - Func, MarkupBlock> buildStatementBlock = (insideBuilder) => - { - return new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - insideBuilder(), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()); - }; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 8, 0, 8), - suffix: new LocationTagged("\"", 19, 0, 19)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn", 16, 0, 16))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - factory.Markup("}")))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - RazorDiagnosticFactory.CreateParsing_MissingEndTag( - new SourceSpan(filePath: null, absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: 5), "!text"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 8, 0, 8), - suffix: new LocationTagged("\"", 19, 0, 19)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn", 16, 0, 16))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{words with spaces}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 8, 0, 8), - suffix: new LocationTagged("\"", 19, 0, 19)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn", 16, 0, 16))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - factory.Markup("words with spaces"), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 8, 0, 8), - suffix: new LocationTagged("'", 25, 0, 25)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("btn1").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn1", 16, 0, 16))), - factory.Markup(" btn2").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 20, 0, 20), - value: new LocationTagged("btn2", 21, 0, 21))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class2", - prefix: new LocationTagged(" class2=", 26, 0, 26), - suffix: new LocationTagged(string.Empty, 37, 0, 37)), - factory.Markup(" class2=").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 34, 0, 34), - value: new LocationTagged("btn", 34, 0, 34)))), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 8, 0, 8), - suffix: new LocationTagged("'", 39, 0, 39)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("btn1").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn1", 16, 0, 16))), - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged(" ", 20, 0, 20), 21, 0, 21), - factory.Markup(" ").With(SpanChunkGenerator.Null), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace))), - factory.Markup(" btn2").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 34, 0, 34), - value: new LocationTagged("btn2", 35, 0, 35))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

wordsandspaces

"); } - public static TheoryData OptOut_WithBlockTextTagData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - RazorDiagnostic MissingEndTagError(string tagName) - { - return RazorDiagnosticFactory.CreateParsing_MissingEndTag( - new SourceSpan(filePath: null, absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: tagName.Length), tagName); - } - - Func, MarkupBlock> buildStatementBlock = (insideBuilder) => - { - return new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - insideBuilder(), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()); - }; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "text>", AcceptedCharactersInternal.None), - factory.Markup("}")))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - MissingEndTagError("!text"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new [] - { - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 4, lineIndex: 0, characterIndex: 4, length: 5), "!text"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "text>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{words and spaces}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "text>", AcceptedCharactersInternal.None), - factory.Markup("words and spaces"), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "text>", AcceptedCharactersInternal.None), - blockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None))), - new [] - { - MissingEndTagError("!text"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 11, lineIndex: 0, characterIndex: 11, length: 4), "text") - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock(factory.MarkupTransition("")), - new MarkupTagBlock( - factory.Markup("").Accepts(AcceptedCharactersInternal.None)))), - new [] - { - MissingEndTagError("text"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "text>", AcceptedCharactersInternal.None), - new MarkupTagHelperBlock("text"), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagBlock(factory.MarkupTransition("")), - new MarkupTagBlock( - factory.Markup("<").Accepts(AcceptedCharactersInternal.None), - factory.BangEscape(), - factory.Markup("text>").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None), - factory.Markup("}")))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - MissingEndTagError("text"), - } - }, - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "text>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)), - new MarkupBlock( - blockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None)), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()), - new [] - { - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 19, lineIndex: 0, characterIndex: 19, length: 4), "text"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 19, lineIndex: 0, characterIndex: 19, length: 4), "text") - } - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, ""); } - [Theory] - [MemberData(nameof(OptOut_WithAttributeTextTagData))] - [MemberData(nameof(OptOut_WithBlockTextTagData))] - public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "p", "text"); + EvaluateData(RequiredAttribute_Descriptors, ""); } - public static TheoryData OptOut_WithPartialTextTagData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - RazorDiagnostic UnfinishedTagError(string tagName, int length) - { - return RazorDiagnosticFactory.CreateParsing_UnfinishedTag( - new SourceSpan(filePath: null, absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: length), - tagName); - } - - Func, MarkupBlock> buildPartialStatementBlock = (insideBuilder) => - { - return new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - insideBuilder())); - }; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "@{ new MarkupBlock(blockFactory.EscapedMarkupTagBlock("<", "text}"))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!text}", 6), - } - }, - { - "@{ new MarkupBlock( - blockFactory.EscapedMarkupTagBlock( - "<", - "text /", - new MarkupBlock(factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!text", 5), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=", 8, 0, 8), - suffix: new LocationTagged(string.Empty, 16, 0, 16)), - factory.Markup(" class=").With(SpanChunkGenerator.Null), - factory.Markup("}").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 15, 0, 15), - value: new LocationTagged("}", 15, 0, 15))))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!text", 5), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 8, 0, 8), - suffix: new LocationTagged(string.Empty, 20, 0, 20)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn}").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn}", 16, 0, 16))))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!text", 5), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 8, 0, 8), - suffix: new LocationTagged("\"", 19, 0, 19)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn", 16, 0, 16))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - new MarkupBlock(factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!text", 5), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("text"), - - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 8, 0, 8), - suffix: new LocationTagged("\"", 19, 0, 19)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 16, 0, 16), - value: new LocationTagged("btn", 16, 0, 16))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(" /"), - new MarkupBlock(factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!text", 5), - } - } - }; - } + EvaluateData(RequiredAttribute_Descriptors, "words and spaces"); } - [Theory] - [MemberData(nameof(OptOut_WithPartialTextTagData))] - public void Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "text"); + EvaluateData(RequiredAttribute_Descriptors, "words and spaces"); } - public static TheoryData OptOut_WithPartialData_CSharp + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - RazorDiagnostic UnfinishedTagError(string tagName) - { - return RazorDiagnosticFactory.CreateParsing_UnfinishedTag( - new SourceSpan(filePath: null, absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: tagName.Length), - tagName); - } - - Func, MarkupBlock> buildPartialStatementBlock = (insideBuilder) => - { - return new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - insideBuilder())); - }; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "@{ new MarkupBlock(blockFactory.EscapedMarkupTagBlock("<", "}"))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!}"), - } - }, - { - "@{ new MarkupBlock(blockFactory.EscapedMarkupTagBlock("<", "p}"))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p}"), - } - }, - { - "@{ new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p /", new MarkupBlock(factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p"), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=", 5, 0, 5), - suffix: new LocationTagged(string.Empty, 13, 0, 13)), - factory.Markup(" class=").With(SpanChunkGenerator.Null), - factory.Markup("}").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 12, 0, 12), - value: new LocationTagged("}", 12, 0, 12))))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p"), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged(string.Empty, 17, 0, 17)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn}").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn}", 13, 0, 13))))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p"), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged(string.Empty, 19, 0, 19)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn", 13, 0, 13))), - new MarkupBlock( - factory.Markup("@").With(new LiteralAttributeChunkGenerator(new LocationTagged(string.Empty, 16, 0, 16), new LocationTagged("@", 16, 0, 16))).Accepts(AcceptedCharactersInternal.None), - factory.Markup("@").With(SpanChunkGenerator.Null).Accepts(AcceptedCharactersInternal.None)), - factory.Markup("}").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 18, 0, 18), - value: new LocationTagged("}", 18, 0, 18))))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p"), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged("\"", 16, 0, 16)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn", 13, 0, 13))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - new MarkupBlock(factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p"), - } - }, - { - "@{ new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged("\"", 16, 0, 16)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn", 13, 0, 13))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(" /"), - new MarkupBlock( - factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - UnfinishedTagError("!p"), - } - } - }; - } + EvaluateData(RequiredAttribute_Descriptors, "
"); } - [Theory] - [MemberData(nameof(OptOut_WithPartialData_CSharp))] - public void Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "strong", "p"); + EvaluateData(RequiredAttribute_Descriptors, "
"); } - public static TheoryData OptOut_WithPartialData_HTML + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput - return new TheoryData - { - { - "(" class=", 3, 0, 3), - suffix: new LocationTagged(string.Empty, 10, 0, 10)), - factory.Markup(" class=").With(SpanChunkGenerator.Null)))) - }, - { - "(" class=\"", 3, 0, 3), - suffix: new LocationTagged(string.Empty, 14, 0, 14)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn", 11, 0, 11)))))) - }, - { - "(" class=\"", 3, 0, 3), - suffix: new LocationTagged("\"", 14, 0, 14)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn", 11, 0, 11))), - factory.Markup("\"").With(SpanChunkGenerator.Null)))) - }, - { - "(" class=\"", 3, 0, 3), - suffix: new LocationTagged("\"", 14, 0, 14)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn", 11, 0, 11))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(" /"))) - } - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

"); } - [Theory] - [MemberData(nameof(OptOut_WithPartialData_HTML))] - public void Rewrite_AllowsTagHelperElementOptForIncompleteHTML( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, new RazorDiagnostic[0], "strong", "p"); + EvaluateData(RequiredAttribute_Descriptors, "

"); } - public static TheoryData OptOut_WithBlockData_CSharp + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - RazorDiagnostic MissingEndTagError(string tagName, int index = 3) - { - return RazorDiagnosticFactory.CreateParsing_MissingEndTag( - new SourceSpan(filePath: null, absoluteIndex: index, lineIndex: 0, characterIndex: index, length: tagName.Length), tagName); - } - - Func, MarkupBlock> buildStatementBlock = (insideBuilder) => - { - return new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - insideBuilder(), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()); - }; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - factory.Markup("}")))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - MissingEndTagError("!p"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new [] - { - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 4, lineIndex: 0, characterIndex: 4, length: 2), "!p"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{words and spaces}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - factory.Markup("words and spaces"), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{

}", - buildStatementBlock( - () => new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.MarkupTagBlock("

", AcceptedCharactersInternal.None))), - new [] - { - MissingEndTagError("!p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 8, lineIndex: 0, characterIndex: 8, length: 1), "p") - } - }, - { - "@{

}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)))), - new [] - { - MissingEndTagError("p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: 1), "p") - } - }, - { - "@{

}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)))), - new RazorDiagnostic[0] - }, - { - "@{

}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None), - factory.Markup("}"))))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - MissingEndTagError("p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: 1), "p") - } - }, - { - "@{

}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)), - new MarkupBlock( - blockFactory.MarkupTagBlock("

", AcceptedCharactersInternal.None)), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()), - new [] - { - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 13, lineIndex: 0, characterIndex: 13, length: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 13, lineIndex: 0, characterIndex: 13, length: 1), "p") - } - }, - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagHelperBlock("strong", - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new MarkupBlock( - blockFactory.MarkupTagBlock("
", AcceptedCharactersInternal.None)), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()), - new [] - { - MissingEndTagError("strong"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 17, lineIndex: 0, characterIndex: 17, length: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 17, lineIndex: 0, characterIndex: 17, length: 6), "strong") - } - }, - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagHelperBlock("strong")), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()), - new RazorDiagnostic[0] - }, - { - "@{

}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)))), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>", AcceptedCharactersInternal.None), - blockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None)), - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None)), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()), - new [] - { - MissingEndTagError("p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 6, lineIndex: 0, characterIndex: 6, length: 6), "strong"), - MissingEndTagError("!p", index: 24), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 29, lineIndex: 0, characterIndex: 29, length: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 38, lineIndex: 0, characterIndex: 38, length: 2), "!p"), - } - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

words and spaces

"); } - public static TheoryData OptOut_WithAttributeData_CSharp + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - Func, MarkupBlock> buildStatementBlock = (insideBuilder) => - { - return new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - insideBuilder(), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()); - }; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "@{}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged("\"", 16, 0, 16)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn", 13, 0, 13))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - factory.Markup("}")))), - new [] - { - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), Resources.BlockName_Code, "}", "{"), - RazorDiagnosticFactory.CreateParsing_MissingEndTag( - new SourceSpan(filePath: null, absoluteIndex: 3, lineIndex: 0, characterIndex: 3, length: 2), "!p"), - } - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged("\"", 16, 0, 16)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn", 13, 0, 13))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{words with spaces}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 5, 0, 5), - suffix: new LocationTagged("\"", 16, 0, 16)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn", 13, 0, 13))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - factory.Markup("words with spaces"), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 5, 0, 5), - suffix: new LocationTagged("'", 22, 0, 22)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("btn1").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn1", 13, 0, 13))), - factory.Markup(" btn2").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 17, 0, 17), - value: new LocationTagged("btn2", 18, 0, 18))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class2", - prefix: new LocationTagged(" class2=", 23, 0, 23), - suffix: new LocationTagged(string.Empty, 34, 0, 34)), - factory.Markup(" class2=").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 31, 0, 31), - value: new LocationTagged("btn", 31, 0, 31)))), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - { - "@{}", - buildStatementBlock( - () => new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 5, 0, 5), - suffix: new LocationTagged("'", 36, 0, 36)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("btn1").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 13, 0, 13), - value: new LocationTagged("btn1", 13, 0, 13))), - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged(" ", 17, 0, 17), 18, 0, 18), - factory.Markup(" ").With(SpanChunkGenerator.Null), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace))), - factory.Markup(" btn2").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 31, 0, 31), - value: new LocationTagged("btn2", 32, 0, 32))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">").Accepts(AcceptedCharactersInternal.None)), - blockFactory.EscapedMarkupTagBlock("", AcceptedCharactersInternal.None))), - new RazorDiagnostic[0] - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "
"); } - [Theory] - [MemberData(nameof(OptOut_WithBlockData_CSharp))] - [MemberData(nameof(OptOut_WithAttributeData_CSharp))] - public void Rewrite_AllowsTagHelperElementOptOutCSharp( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "strong", "p"); + EvaluateData(RequiredAttribute_Descriptors, "
"); } - public static TheoryData OptOut_WithBlockData_HTML + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>")), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>"), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "words and spaces", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>"), - factory.Markup("words and spaces"), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "

", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>"), - blockFactory.MarkupTagBlock("

")), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 6, lineIndex: 0, characterIndex: 6, length: 1), "p") - } - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", blockFactory.EscapedMarkupTagBlock(""))), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.EscapedMarkupTagBlock("<", "p>"), - blockFactory.EscapedMarkupTagBlock(""))), - new RazorDiagnostic[0] - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - blockFactory.EscapedMarkupTagBlock("<", "p>"), - blockFactory.EscapedMarkupTagBlock(""))), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

", - new MarkupBlock( - blockFactory.EscapedMarkupTagBlock("<", "p>"), - blockFactory.EscapedMarkupTagBlock(""), - blockFactory.MarkupTagBlock("

")), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(11, 0, 11), contentLength: 1), "p") - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("strong", - blockFactory.EscapedMarkupTagBlock(""))), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("strong"), - blockFactory.EscapedMarkupTagBlock("<", "p>"), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("strong", - blockFactory.EscapedMarkupTagBlock(""), - blockFactory.EscapedMarkupTagBlock("<", "p>")), - blockFactory.EscapedMarkupTagBlock(""))), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

words and spaces
"); } - public static TheoryData OptOut_WithAttributeData_HTML + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 3, 0, 3), - suffix: new LocationTagged("\"", 14, 0, 14)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn", 11, 0, 11))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">"))), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 3, 0, 3), - suffix: new LocationTagged("\"", 14, 0, 14)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn", 11, 0, 11))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "words and spaces", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 3, 0, 3), - suffix: new LocationTagged("\"", 14, 0, 14)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn", 11, 0, 11))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup("words and spaces"), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 3, 0, 3), - suffix: new LocationTagged("'", 20, 0, 20)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("btn1").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn1", 11, 0, 11))), - factory.Markup(" btn2").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 15, 0, 15), - value: new LocationTagged("btn2", 16, 0, 16))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class2", - prefix: new LocationTagged(" class2=", 21, 0, 21), - suffix: new LocationTagged(string.Empty, 32, 0, 32)), - factory.Markup(" class2=").With(SpanChunkGenerator.Null), - factory.Markup("btn").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 29, 0, 29), - value: new LocationTagged("btn", 29, 0, 29)))), - factory.Markup(">")), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - factory.BangEscape(), - factory.Markup("p"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class='", 3, 0, 3), - suffix: new LocationTagged("'", 34, 0, 34)), - factory.Markup(" class='").With(SpanChunkGenerator.Null), - factory.Markup("btn1").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 11, 0, 11), - value: new LocationTagged("btn1", 11, 0, 11))), - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged(" ", 15, 0, 15), 16, 0, 16), - factory.Markup(" ").With(SpanChunkGenerator.Null), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace))), - factory.Markup(" btn2").With( - new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", 29, 0, 29), - value: new LocationTagged("btn2", 30, 0, 30))), - factory.Markup("'").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - blockFactory.EscapedMarkupTagBlock("")), - new RazorDiagnostic[0] - }, - }; - } + EvaluateData(RequiredAttribute_Descriptors, "
words and spaces
"); } - [Theory] - [MemberData(nameof(OptOut_WithBlockData_HTML))] - [MemberData(nameof(OptOut_WithAttributeData_HTML))] - public void Rewrite_AllowsTagHelperElementOptOutHTML( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "strong", "p"); + EvaluateData(RequiredAttribute_Descriptors, "
wordsandspaces
"); } - public static IEnumerable TextTagsBlockData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24() { - get - { - var factory = new SpanFactory(); - - // Should re-write text tags that aren't in C# blocks - yield return new object[] - { - "Hello World", - new MarkupBlock( - new MarkupTagHelperBlock("text", - factory.Markup("Hello World"))) - }; - yield return new object[] - { - "@{Hello World}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagBlock( - factory.MarkupTransition("")), - factory.Markup("Hello World").Accepts(AcceptedCharactersInternal.None), - new MarkupTagBlock( - factory.MarkupTransition(""))), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()) - }; - yield return new object[] - { - "@{

Hello World

}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagBlock( - factory.MarkupTransition("")), - new MarkupTagHelperBlock("p", - factory.Markup("Hello World")), - new MarkupTagBlock( - factory.MarkupTransition(""))), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()) - }; - yield return new object[] - { - "@{

Hello World

}", - new MarkupBlock( - factory.EmptyHtml(), - new StatementBlock( - factory.CodeTransition(), - factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("text", - factory.Markup("Hello World")))), - factory.EmptyCSharp().AsStatement(), - factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - factory.EmptyHtml()) - }; - } + EvaluateData(RequiredAttribute_Descriptors, "

"); } - [Theory] - [MemberData(nameof(TextTagsBlockData))] - public void TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p", "text"); + EvaluateData(RequiredAttribute_Descriptors, "

words and spaces

"); } - public static IEnumerable SpecialTagsBlockData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - blockFactory.HtmlCommentBlock (" Hello World "), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - BlockFactory.HtmlCommentBlock(factory, f=> new SyntaxTreeNode[]{ - f.Markup(" ").Accepts(AcceptedCharactersInternal.WhiteSpace), - new ExpressionBlock( - f.CodeTransition(), - f.Code("foo") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)), - factory.Markup(" ").Accepts(AcceptedCharactersInternal.WhiteSpace) }), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - new MarkupTagBlock( - factory.Markup(""))) - }; - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("")), - factory.Markup(""), - new MarkupTagBlock( - factory.Markup(""))) - }; - } + EvaluateData(RequiredAttribute_Descriptors, "
"); } - [Theory] - [MemberData(nameof(SpecialTagsBlockData))] - public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "!--", "?xml", "![CDATA[", "!DOCTYPE"); + EvaluateData(RequiredAttribute_Descriptors, "
words and spaces
"); } - public static IEnumerable NestedBlockData + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - yield return new object[] - { - "

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("div"))) - }; - yield return new object[] - { - "

Hello World

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello World "), - new MarkupTagHelperBlock("div"))) - }; - yield return new object[] - { - "

Hel

lo

World

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hel"), - new MarkupTagHelperBlock("p", - factory.Markup("lo"))), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - new MarkupTagHelperBlock("div", - factory.Markup("World")))) - }; - yield return new object[] - { - "

Hello

World

", - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hel"), - blockFactory.MarkupTagBlock(""), - factory.Markup("lo"), - blockFactory.MarkupTagBlock("")), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - blockFactory.MarkupTagBlock(""), - factory.Markup("World"), - blockFactory.MarkupTagBlock(""))) - }; - } + EvaluateData(RequiredAttribute_Descriptors, "
words and spaces
"); } - [Theory] - [MemberData(nameof(NestedBlockData))] - public void TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29() { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p", "div"); + EvaluateData(RequiredAttribute_Descriptors, "
words and spaces
"); + } + + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30() + { + EvaluateData(RequiredAttribute_Descriptors, "
wordsandspaces
"); + } + + public static TagHelperDescriptor[] NestedRequiredAttribute_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("pTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("p") + .RequireAttributeDescriptor(attribute => attribute.Name("class"))) + .Build(), + TagHelperDescriptorBuilder.Create("catchAllTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("*") + .RequireAttributeDescriptor(attribute => attribute.Name("catchAll"))) + .Build(), + }; + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2() + { + EvaluateData(NestedRequiredAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8() + { + EvaluateData(NestedRequiredAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9() + { + EvaluateData(NestedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10() + { + EvaluateData(NestedRequiredAttribute_Descriptors, ""); + } + + public static TagHelperDescriptor[] MalformedRequiredAttribute_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("pTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("p") + .RequireAttributeDescriptor(attribute => attribute.Name("class"))) + .Build(), + }; + + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1() + { + EvaluateData(MalformedRequiredAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8() + { + EvaluateData(MalformedRequiredAttribute_Descriptors, "

"); + } + + [Fact] + public void Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9() + { + EvaluateData(MalformedRequiredAttribute_Descriptors, "

rule.RequireTagName("myth")) + .Build(), + TagHelperDescriptorBuilder.Create("mythTagHelper2", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("myth2")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("bound") + .PropertyName("Bound") + .TypeName(typeof(bool).FullName)) + .Build() + }; + + public static TagHelperDescriptor[] PrefixedTagHelperCatchAll_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("mythTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("*")) + .Build(), + }; + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers1() + { + EvaluateData(PrefixedTagHelperCatchAll_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers2() + { + EvaluateData(PrefixedTagHelperCatchAll_Descriptors, "words and spaces", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers3() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers4() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers5() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers6() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers7() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers8() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers9() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers10() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "words and spaces", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsPrefixedTagHelpers11() + { + EvaluateData(PrefixedTagHelperColon_Descriptors, "", tagHelperPrefix: "th:"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag2() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag3() + { + RunParseTreeRewriterTest("@{words with spaces}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag4() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag5() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4() + { + RunParseTreeRewriterTest("@{words and spaces}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9() + { + RunParseTreeRewriterTest("@{}", "p", "text"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData3() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData4() + { + RunParseTreeRewriterTest("@{words and spaces}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5() + { + RunParseTreeRewriterTest("@{

}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6() + { + RunParseTreeRewriterTest("@{

}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData7() + { + RunParseTreeRewriterTest("@{

}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8() + { + RunParseTreeRewriterTest("@{

}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9() + { + RunParseTreeRewriterTest("@{

}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData11() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12() + { + RunParseTreeRewriterTest("@{

}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData2() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData3() + { + RunParseTreeRewriterTest("@{words with spaces}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData4() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData5() + { + RunParseTreeRewriterTest("@{}", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData1() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData2() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData3() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData4() + { + RunParseTreeRewriterTest("words and spaces", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5() + { + RunParseTreeRewriterTest("

", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6() + { + RunParseTreeRewriterTest("

", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData7() + { + RunParseTreeRewriterTest("

", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8() + { + RunParseTreeRewriterTest("

", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9() + { + RunParseTreeRewriterTest("

", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData10() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData11() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12() + { + RunParseTreeRewriterTest("

", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData1() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData2() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData3() + { + RunParseTreeRewriterTest("words and spaces", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData4() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData5() + { + RunParseTreeRewriterTest("", "strong", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers1() + { + RunParseTreeRewriterTest("Hello World", "p", "text"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers2() + { + RunParseTreeRewriterTest("@{Hello World}", "p", "text"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers3() + { + RunParseTreeRewriterTest("@{

Hello World

}", "p", "text"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers4() + { + RunParseTreeRewriterTest("@{

Hello World

}", "p", "text"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers1() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers2() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers3() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers4() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers5() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers6() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers7() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers8() + { + RunParseTreeRewriterTest("", "!--", "?xml", "![CDATA[", "!DOCTYPE"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks1() + { + RunParseTreeRewriterTest("

", "p", "div"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks2() + { + RunParseTreeRewriterTest("

Hello World

", "p", "div"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks3() + { + RunParseTreeRewriterTest("

Hel

lo

World

", "p", "div"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks4() + { + RunParseTreeRewriterTest("

Hello

World

", "p", "div"); } [Fact] public void Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly() { - var documentContent = "
@{
}"; - var expectedOutput = new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("
")), - new StatementBlock( - Factory.CodeTransition(), - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("
").Accepts(AcceptedCharactersInternal.None))), - Factory.EmptyCSharp().AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)), - Factory.EmptyHtml()); - var expectedErrors = new[] - { - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(new SourceLocation(9, 0, 9), contentLength: 3), "div"), - }; - - RunParseTreeRewriterTest(documentContent, expectedOutput, expectedErrors); + RunParseTreeRewriterTest("
@{
}"); } } } \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperRewritingTestBase.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperRewritingTestBase.cs index 770591d394..86a73d1683 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperRewritingTestBase.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperRewritingTestBase.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Linq; @@ -8,6 +9,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class TagHelperRewritingTestBase : CsHtmlMarkupParserTestBase { + internal void RunParseTreeRewriterTest(string documentContent, params string[] tagNames) + { + RunParseTreeRewriterTest(documentContent, expectedOutput: null, tagNames: tagNames); + } + internal void RunParseTreeRewriterTest( string documentContent, MarkupBlock expectedOutput, @@ -46,6 +52,15 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy return descriptors; } + internal void EvaluateData( + IEnumerable descriptors, + string documentContent, + string tagHelperPrefix = null, + RazorParserFeatureFlags featureFlags = null) + { + EvaluateData(descriptors, documentContent, null, Array.Empty(), tagHelperPrefix, featureFlags); + } + internal void EvaluateData( IEnumerable descriptors, string documentContent, diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers1.syntaxtree.txt new file mode 100644 index 0000000000..4da539e593 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers1.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 7 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[th:]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers10.syntaxtree.txt new file mode 100644 index 0000000000..86a3c37d74 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers10.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 47 - (0:0,0) + Tag block - Gen - 47 - (0:0,0) - th:myth - mythTagHelper + StartTagAndEndTag - ... + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers11.syntaxtree.txt new file mode 100644 index 0000000000..d2f2962904 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers11.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 34 - (0:0,0) + Tag block - Gen - 34 - (0:0,0) - th:myth2 - mythTagHelper2 + SelfClosing - + bound - DoubleQuotes + Markup block - Gen - 13 - (17:0,17) + Markup block - Gen - 13 - (17:0,17) + Expression block - Gen - 13 - (17:0,17) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers2.syntaxtree.txt new file mode 100644 index 0000000000..c4779387d6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers2.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[th:]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 6 - (21:0,21) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[th:]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers3.syntaxtree.txt new file mode 100644 index 0000000000..6fa88c654b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers3.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 11 - (0:0,0) + Tag block - Gen - 11 - (0:0,0) - th:myth - mythTagHelper + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers4.syntaxtree.txt new file mode 100644 index 0000000000..25308b73be --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers4.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - th:myth - mythTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers5.syntaxtree.txt new file mode 100644 index 0000000000..7d2e3fac34 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers5.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 40 - (0:0,0) + Tag block - Gen - 40 - (0:0,0) - th:myth - mythTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 10 - (9:0,9) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[th:my2th]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 11 - (19:0,19) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[th:my2th]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers6.syntaxtree.txt new file mode 100644 index 0000000000..f857e13cbe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers6.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 12 - (0:0,0) + Tag block - Gen - 12 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [th:myth />] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:4 + HtmlSymbolType.Text;[th:myth]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers7.syntaxtree.txt new file mode 100644 index 0000000000..cb3ccefcf1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers7.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 10 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [th:myth>] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:2 + HtmlSymbolType.Text;[th:myth]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 11 - (10:0,10) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [th:myth>] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:2 + HtmlSymbolType.Text;[th:myth]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers8.syntaxtree.txt new file mode 100644 index 0000000000..94f8d4f011 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers8.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - th:myth - mythTagHelper + SelfClosing - + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers9.syntaxtree.txt new file mode 100644 index 0000000000..cd47c50dd4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsPrefixedTagHelpers9.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 24 - (0:0,0) - th:myth2 - mythTagHelper2 + SelfClosing - + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorCommentsAsChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorCommentsAsChildren.syntaxtree.txt new file mode 100644 index 0000000000..1795f2dff2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorCommentsAsChildren.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 26 - (0:0,0) + Tag block - Gen - 26 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 3 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[b]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:1 + HtmlSymbolType.Text;[asdf]; + Tag block - Gen - 4 - (10:0,10) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[b]; + HtmlSymbolType.CloseAngle;[>]; + Comment block - Gen - 8 - (14:0,14) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.RazorComment;[asdf]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorMarkupInHtmlComment.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorMarkupInHtmlComment.syntaxtree.txt new file mode 100644 index 0000000000..4404c50f9c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsRazorMarkupInHtmlComment.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 37 - (0:0,0) + Tag block - Gen - 37 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 3 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[b]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:1 + HtmlSymbolType.Text;[asdf]; + Tag block - Gen - 4 - (10:0,10) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[b]; + HtmlSymbolType.CloseAngle;[>]; + HtmlComment block - Gen - 19 - (14:0,14) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (30:0,30) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsSimpleHtmlCommentsAsChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsSimpleHtmlCommentsAsChildren.syntaxtree.txt new file mode 100644 index 0000000000..018d2d3e0d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsSimpleHtmlCommentsAsChildren.syntaxtree.txt @@ -0,0 +1,28 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 36 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 3 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[b]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:1 + HtmlSymbolType.Text;[asdf]; + Tag block - Gen - 4 - (10:0,10) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[b]; + HtmlSymbolType.CloseAngle;[>]; + HtmlComment block - Gen - 18 - (14:0,14) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (29:0,29) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.diagnostics.txt new file mode 100644 index 0000000000..6f41e61f18 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1025: The "!text" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.syntaxtree.txt new file mode 100644 index 0000000000..97add6caad --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag1.syntaxtree.txt @@ -0,0 +1,30 @@ +Markup block - Gen - 22 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 22 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 20 - (2:0,2) + Tag block - Gen - 19 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 12 - (8:0,8) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag2.syntaxtree.txt new file mode 100644 index 0000000000..a98c6d9160 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag2.syntaxtree.txt @@ -0,0 +1,43 @@ +Markup block - Gen - 30 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 30 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 27 - (2:0,2) + Tag block - Gen - 19 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 12 - (8:0,8) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (21:0,21) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (29:0,29) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag3.syntaxtree.txt new file mode 100644 index 0000000000..233ad07deb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag3.syntaxtree.txt @@ -0,0 +1,49 @@ +Markup block - Gen - 47 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 47 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 44 - (2:0,2) + Tag block - Gen - 19 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 12 - (8:0,8) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words with spaces] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[with]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 8 - (38:0,38) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (41:0,41) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (46:0,46) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag4.syntaxtree.txt new file mode 100644 index 0000000000..94a735bb61 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag4.syntaxtree.txt @@ -0,0 +1,53 @@ +Markup block - Gen - 47 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 47 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 44 - (2:0,2) + Tag block - Gen - 36 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 18 - (8:0,8) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn1]; + Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[btn2]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup block - Gen - 11 - (26:0,26) + Markup span - Gen - [ class2=] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class2]; + HtmlSymbolType.Equals;[=]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (38:0,38) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (41:0,41) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (46:0,46) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag5.syntaxtree.txt new file mode 100644 index 0000000000..c6fda16d3b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithAttributeTextTag5.syntaxtree.txt @@ -0,0 +1,56 @@ +Markup block - Gen - 50 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 50 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 47 - (2:0,2) + Tag block - Gen - 39 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 32 - (8:0,8) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn1]; + Markup block - Gen - 14 - (20:0,20) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (21:0,21) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (22:0,22) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[btn2]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (41:0,41) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (43:0,43) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (44:0,44) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (49:0,49) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (50:0,50) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.diagnostics.txt new file mode 100644 index 0000000000..6f41e61f18 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1025: The "!text" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.syntaxtree.txt new file mode 100644 index 0000000000..d60b4b8c0a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 10 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 10 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 8 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.diagnostics.txt new file mode 100644 index 0000000000..5bcfe7b2f4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.diagnostics.txt @@ -0,0 +1 @@ +(1,5): Error RZ1026: Encountered end tag "!text" with no matching start tag. Are your start/end tags properly balanced? diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.syntaxtree.txt new file mode 100644 index 0000000000..71f701ac02 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 11 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 11 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 8 - (2:0,2) + Tag block - Gen - 8 - (2:0,2) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.syntaxtree.txt new file mode 100644 index 0000000000..50fec7fd97 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 18 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 18 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 15 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (9:0,9) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.syntaxtree.txt new file mode 100644 index 0000000000..464a5bbd35 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.syntaxtree.txt @@ -0,0 +1,38 @@ +Markup block - Gen - 34 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 34 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 31 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 8 - (25:0,25) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.diagnostics.txt new file mode 100644 index 0000000000..9e700e22b8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.diagnostics.txt @@ -0,0 +1,2 @@ +(1,4): Error RZ1025: The "!text" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,12): Error RZ1034: Found a malformed 'text' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.syntaxtree.txt new file mode 100644 index 0000000000..15dc6e8e6a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 17 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 17 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 14 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (9:0,9) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.diagnostics.txt new file mode 100644 index 0000000000..5b84341f8d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ1025: The "text" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.syntaxtree.txt new file mode 100644 index 0000000000..f6e892a980 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 17 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 17 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 14 - (2:0,2) + Tag block - Gen - 6 - (2:0,2) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (8:0,8) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.syntaxtree.txt new file mode 100644 index 0000000000..0fa864802a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.syntaxtree.txt @@ -0,0 +1,34 @@ +Markup block - Gen - 31 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 31 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 28 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 13 - (9:0,9) - text - texttaghelper + StartTagAndEndTag - ... + Tag block - Gen - 8 - (22:0,22) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (30:0,30) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.diagnostics.txt new file mode 100644 index 0000000000..27a90c4a3e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1025: The "text" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.syntaxtree.txt new file mode 100644 index 0000000000..dfaffb0794 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.syntaxtree.txt @@ -0,0 +1,33 @@ +Markup block - Gen - 24 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 24 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 22 - (2:0,2) + Tag block - Gen - 6 - (2:0,2) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (8:0,8) + Markup span - Gen - [<] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (15:0,15) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.diagnostics.txt new file mode 100644 index 0000000000..d82bb8c1a6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.diagnostics.txt @@ -0,0 +1,2 @@ +(1,20): Error RZ1026: Encountered end tag "text" with no matching start tag. Are your start/end tags properly balanced? +(1,20): Error RZ1034: Found a malformed 'text' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.syntaxtree.txt new file mode 100644 index 0000000000..a94dff2f51 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.syntaxtree.txt @@ -0,0 +1,39 @@ +Markup block - Gen - 25 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 25 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 15 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (9:0,9) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup block - Gen - 7 - (17:0,17) + Tag block - Gen - 7 - (17:0,17) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML1.syntaxtree.txt new file mode 100644 index 0000000000..af5f2d158c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML1.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 2 - (0:0,0) + Markup span - Gen - [ - 3 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML3.syntaxtree.txt new file mode 100644 index 0000000000..30c78db564 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML3.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 5 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p /] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:3 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML4.syntaxtree.txt new file mode 100644 index 0000000000..f7e1096582 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML4.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 10 - (0:0,0) + Tag block - Gen - 10 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 7 - (3:0,3) + Markup span - Gen - [ class=] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML5.syntaxtree.txt new file mode 100644 index 0000000000..184943f1c7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML5.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 14 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML6.syntaxtree.txt new file mode 100644 index 0000000000..7b2b50c4e7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML6.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 15 - (0:0,0) + Tag block - Gen - 15 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (3:0,3) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML7.syntaxtree.txt new file mode 100644 index 0000000000..277912de2b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTML7.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (3:0,3) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [ /] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.diagnostics.txt new file mode 100644 index 0000000000..5e05d58d34 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!}" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.syntaxtree.txt new file mode 100644 index 0000000000..8f0c89cd77 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 5 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 3 - (2:0,2) + Tag block - Gen - 3 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.diagnostics.txt new file mode 100644 index 0000000000..7fcf4c636a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p}" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.syntaxtree.txt new file mode 100644 index 0000000000..1ade39b70f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 6 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 6 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 4 - (2:0,2) + Tag block - Gen - 4 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p}] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.diagnostics.txt new file mode 100644 index 0000000000..7f76f09dfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.syntaxtree.txt new file mode 100644 index 0000000000..34338555f9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 8 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 6 - (2:0,2) + Tag block - Gen - 6 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p /] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:3 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + Markup block - Gen - 1 - (7:0,7) + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.diagnostics.txt new file mode 100644 index 0000000000..7f76f09dfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.syntaxtree.txt new file mode 100644 index 0000000000..b51430f3ce --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 13 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 13 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 11 - (2:0,2) + Tag block - Gen - 11 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 8 - (5:0,5) + Markup span - Gen - [ class=] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.diagnostics.txt new file mode 100644 index 0000000000..7f76f09dfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.syntaxtree.txt new file mode 100644 index 0000000000..c68708b2b5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 17 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 17 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 15 - (2:0,2) + Tag block - Gen - 15 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - [btn}] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.diagnostics.txt new file mode 100644 index 0000000000..7f76f09dfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.syntaxtree.txt new file mode 100644 index 0000000000..ae4f262951 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.syntaxtree.txt @@ -0,0 +1,31 @@ +Markup block - Gen - 19 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 19 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 17 - (2:0,2) + Tag block - Gen - 17 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup block - Gen - 2 - (16:0,16) + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.diagnostics.txt new file mode 100644 index 0000000000..7f76f09dfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.syntaxtree.txt new file mode 100644 index 0000000000..cc133c759d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 18 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 18 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 16 - (2:0,2) + Tag block - Gen - 16 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (5:0,5) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup block - Gen - 1 - (17:0,17) + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.diagnostics.txt new file mode 100644 index 0000000000..7f76f09dfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!p" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.syntaxtree.txt new file mode 100644 index 0000000000..fd8774ae23 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 20 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 20 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 18 - (2:0,2) + Tag block - Gen - 18 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (5:0,5) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [ /] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + Markup block - Gen - 1 - (19:0,19) + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.diagnostics.txt new file mode 100644 index 0000000000..c9edfe9426 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!text}" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.syntaxtree.txt new file mode 100644 index 0000000000..2a8a6c51a8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 9 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 9 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 7 - (2:0,2) + Tag block - Gen - 7 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text}] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.diagnostics.txt new file mode 100644 index 0000000000..2edb2cd77e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!text" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.syntaxtree.txt new file mode 100644 index 0000000000..15078df248 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 11 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 11 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 9 - (2:0,2) + Tag block - Gen - 9 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text /] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + Markup block - Gen - 1 - (10:0,10) + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.diagnostics.txt new file mode 100644 index 0000000000..2edb2cd77e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!text" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.syntaxtree.txt new file mode 100644 index 0000000000..42ac1bf6a9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 16 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 16 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 14 - (2:0,2) + Tag block - Gen - 14 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 8 - (8:0,8) + Markup span - Gen - [ class=] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.diagnostics.txt new file mode 100644 index 0000000000..2edb2cd77e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!text" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.syntaxtree.txt new file mode 100644 index 0000000000..5a312fc5a6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 20 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 20 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 18 - (2:0,2) + Tag block - Gen - 18 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - [btn}] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.diagnostics.txt new file mode 100644 index 0000000000..2edb2cd77e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!text" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.syntaxtree.txt new file mode 100644 index 0000000000..6d94ca2ffe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 21 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 21 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 19 - (2:0,2) + Tag block - Gen - 19 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 12 - (8:0,8) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup block - Gen - 1 - (20:0,20) + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.diagnostics.txt new file mode 100644 index 0000000000..2edb2cd77e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1024: End of file or an unexpected character was reached before the "!text" tag could be parsed. Elements inside markup blocks must be complete. They must either be self-closing ("
") or have matching end tags ("

Hello

"). If you intended to display a "<" character, use the "<" HTML entity. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.syntaxtree.txt new file mode 100644 index 0000000000..22daf2d730 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 23 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 23 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 21 - (2:0,2) + Tag block - Gen - 21 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[text]; + Markup block - Gen - 12 - (8:0,8) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [ /] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + Markup block - Gen - 1 - (22:0,22) + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.diagnostics.txt new file mode 100644 index 0000000000..d208c6a957 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1025: The "!p" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.syntaxtree.txt new file mode 100644 index 0000000000..80ad11b2d0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData1.syntaxtree.txt @@ -0,0 +1,30 @@ +Markup block - Gen - 19 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 19 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 17 - (2:0,2) + Tag block - Gen - 16 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (5:0,5) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData2.syntaxtree.txt new file mode 100644 index 0000000000..e6aeec08e1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData2.syntaxtree.txt @@ -0,0 +1,43 @@ +Markup block - Gen - 24 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 24 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 21 - (2:0,2) + Tag block - Gen - 16 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (5:0,5) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (18:0,18) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData3.syntaxtree.txt new file mode 100644 index 0000000000..f6080eb1a8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData3.syntaxtree.txt @@ -0,0 +1,49 @@ +Markup block - Gen - 41 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 41 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 38 - (2:0,2) + Tag block - Gen - 16 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (5:0,5) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words with spaces] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[with]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 5 - (35:0,35) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData4.syntaxtree.txt new file mode 100644 index 0000000000..d6f0507f22 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData4.syntaxtree.txt @@ -0,0 +1,53 @@ +Markup block - Gen - 41 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 41 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 38 - (2:0,2) + Tag block - Gen - 33 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 18 - (5:0,5) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn1]; + Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[btn2]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup block - Gen - 11 - (23:0,23) + Markup span - Gen - [ class2=] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class2]; + HtmlSymbolType.Equals;[=]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (35:0,35) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData5.syntaxtree.txt new file mode 100644 index 0000000000..69c3df7f68 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithAttributeData5.syntaxtree.txt @@ -0,0 +1,56 @@ +Markup block - Gen - 44 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 44 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 41 - (2:0,2) + Tag block - Gen - 36 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 32 - (5:0,5) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[btn1]; + Markup block - Gen - 14 - (17:0,17) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (18:0,18) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (19:0,19) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[btn2]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (38:0,38) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (41:0,41) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (43:0,43) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.diagnostics.txt new file mode 100644 index 0000000000..d208c6a957 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1025: The "!p" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.syntaxtree.txt new file mode 100644 index 0000000000..07245640d7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData1.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 7 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 7 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 5 - (2:0,2) + Tag block - Gen - 4 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.diagnostics.txt new file mode 100644 index 0000000000..fba405aa8b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.diagnostics.txt @@ -0,0 +1,4 @@ +(1,4): Error RZ1025: The "strong" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,4): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,18): Error RZ1026: Encountered end tag "strong" with no matching start tag. Are your start/end tags properly balanced? +(1,18): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.syntaxtree.txt new file mode 100644 index 0000000000..594f18f81e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData10.syntaxtree.txt @@ -0,0 +1,33 @@ +Markup block - Gen - 25 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 25 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 13 - (2:0,2) + Tag block - Gen - 13 - (2:0,2) - strong - strongtaghelper + StartTagAndEndTag - + Tag block - Gen - 5 - (10:0,10) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (13:0,13) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup block - Gen - 9 - (15:0,15) + Tag block - Gen - 9 - (15:0,15) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData11.syntaxtree.txt new file mode 100644 index 0000000000..6f3b5dfb48 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData11.syntaxtree.txt @@ -0,0 +1,35 @@ +Markup block - Gen - 29 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 29 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 17 - (2:0,2) + Tag block - Gen - 17 - (2:0,2) - strong - strongtaghelper + StartTagAndEndTag - ... + Markup block - Gen - 9 - (19:0,19) + Tag block - Gen - 4 - (19:0,19) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (23:0,23) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (26:0,26) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.diagnostics.txt new file mode 100644 index 0000000000..689fbedb41 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.diagnostics.txt @@ -0,0 +1,6 @@ +(1,4): Error RZ1025: The "p" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,4): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,7): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,25): Error RZ1025: The "!p" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,30): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,39): Error RZ1026: Encountered end tag "!p" with no matching start tag. Are your start/end tags properly balanced? diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.syntaxtree.txt new file mode 100644 index 0000000000..5ee992d0e9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData12.syntaxtree.txt @@ -0,0 +1,53 @@ +Markup block - Gen - 42 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 42 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 21 - (2:0,2) + Tag block - Gen - 21 - (2:0,2) - p - ptaghelper + StartTagAndEndTag -

+ Tag block - Gen - 18 - (5:0,5) - strong - strongtaghelper + StartTagAndEndTag - + Tag block - Gen - 10 - (13:0,13) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [strong>] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:2 + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup block - Gen - 13 - (23:0,23) + Tag block - Gen - 4 - (23:0,23) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (27:0,27) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup block - Gen - 5 - (36:0,36) + Tag block - Gen - 5 - (36:0,36) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (39:0,39) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (41:0,41) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.diagnostics.txt new file mode 100644 index 0000000000..16ad86d5a6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.diagnostics.txt @@ -0,0 +1 @@ +(1,5): Error RZ1026: Encountered end tag "!p" with no matching start tag. Are your start/end tags properly balanced? diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.syntaxtree.txt new file mode 100644 index 0000000000..815d486281 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData2.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 8 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 5 - (2:0,2) + Tag block - Gen - 5 - (2:0,2) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData3.syntaxtree.txt new file mode 100644 index 0000000000..bdaf91822a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData3.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 12 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 12 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 9 - (2:0,2) + Tag block - Gen - 4 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (6:0,6) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData4.syntaxtree.txt new file mode 100644 index 0000000000..ac653c5a76 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData4.syntaxtree.txt @@ -0,0 +1,38 @@ +Markup block - Gen - 28 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 28 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 25 - (2:0,2) + Tag block - Gen - 4 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 5 - (22:0,22) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.diagnostics.txt new file mode 100644 index 0000000000..4e9f9e044a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.diagnostics.txt @@ -0,0 +1,2 @@ +(1,4): Error RZ1025: The "!p" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,9): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.syntaxtree.txt new file mode 100644 index 0000000000..14f07bb09b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData5.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 11 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 11 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 8 - (2:0,2) + Tag block - Gen - 4 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (6:0,6) + Markup span - Gen - [

] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.diagnostics.txt new file mode 100644 index 0000000000..9245068ef6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.diagnostics.txt @@ -0,0 +1,2 @@ +(1,4): Error RZ1025: The "p" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,4): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.syntaxtree.txt new file mode 100644 index 0000000000..493986281c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData6.syntaxtree.txt @@ -0,0 +1,26 @@ +Markup block - Gen - 11 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 11 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 8 - (2:0,2) + Tag block - Gen - 8 - (2:0,2) - p - ptaghelper + StartTagAndEndTag -

+ Tag block - Gen - 5 - (5:0,5) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData7.syntaxtree.txt new file mode 100644 index 0000000000..444fcf1de3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData7.syntaxtree.txt @@ -0,0 +1,34 @@ +Markup block - Gen - 19 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 19 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 16 - (2:0,2) + Tag block - Gen - 16 - (2:0,2) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 4 - (5:0,5) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (9:0,9) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.diagnostics.txt new file mode 100644 index 0000000000..0ef166cfd0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.diagnostics.txt @@ -0,0 +1,3 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. +(1,4): Error RZ1025: The "p" element was not closed. All elements must be either self-closing or have a matching end tag. +(1,4): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.syntaxtree.txt new file mode 100644 index 0000000000..7313e4c81a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData8.syntaxtree.txt @@ -0,0 +1,30 @@ +Markup block - Gen - 15 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 15 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 13 - (2:0,2) + Tag block - Gen - 13 - (2:0,2) - p - ptaghelper + StartTagAndEndTag -

+ Tag block - Gen - 4 - (5:0,5) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (9:0,9) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.diagnostics.txt new file mode 100644 index 0000000000..76963aab62 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.diagnostics.txt @@ -0,0 +1,2 @@ +(1,14): Error RZ1026: Encountered end tag "p" with no matching start tag. Are your start/end tags properly balanced? +(1,14): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.syntaxtree.txt new file mode 100644 index 0000000000..d21e4fa426 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutCSharp_WithBlockData9.syntaxtree.txt @@ -0,0 +1,39 @@ +Markup block - Gen - 16 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 16 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 9 - (2:0,2) + Tag block - Gen - 4 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (6:0,6) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup block - Gen - 4 - (11:0,11) + Tag block - Gen - 4 - (11:0,11) + Markup span - Gen - [

] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData1.syntaxtree.txt new file mode 100644 index 0000000000..40c627a530 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData1.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 16 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (3:0,3) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData2.syntaxtree.txt new file mode 100644 index 0000000000..774bc8140f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData2.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (3:0,3) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (16:0,16) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData3.syntaxtree.txt new file mode 100644 index 0000000000..10e161c4b5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData3.syntaxtree.txt @@ -0,0 +1,35 @@ +Markup block - Gen - 37 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 12 - (3:0,3) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 5 - (32:0,32) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData4.syntaxtree.txt new file mode 100644 index 0000000000..dcb3009d72 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData4.syntaxtree.txt @@ -0,0 +1,39 @@ +Markup block - Gen - 38 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 18 - (3:0,3) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn1]; + Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[btn2]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup block - Gen - 11 - (21:0,21) + Markup span - Gen - [ class2=] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class2]; + HtmlSymbolType.Equals;[=]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (33:0,33) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (35:0,35) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData5.syntaxtree.txt new file mode 100644 index 0000000000..bf369fa937 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithAttributeData5.syntaxtree.txt @@ -0,0 +1,42 @@ +Markup block - Gen - 41 - (0:0,0) + Tag block - Gen - 36 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Text;[p]; + Markup block - Gen - 32 - (3:0,3) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[btn1]; + Markup block - Gen - 14 - (15:0,15) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (16:0,16) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (17:0,17) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[btn2]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (36:0,36) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData1.syntaxtree.txt new file mode 100644 index 0000000000..b4ccf5cb3f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData1.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 4 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData10.syntaxtree.txt new file mode 100644 index 0000000000..667b03a324 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData10.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 22 - (0:0,0) + Tag block - Gen - 22 - (0:0,0) - strong - strongtaghelper + StartTagAndEndTag - ... + Tag block - Gen - 5 - (8:0,8) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData11.syntaxtree.txt new file mode 100644 index 0000000000..8146f9c364 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData11.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 26 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) - strong - strongtaghelper + StartTagAndEndTag - ... + Tag block - Gen - 4 - (17:0,17) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (21:0,21) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.diagnostics.txt @@ -0,0 +1 @@ +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.syntaxtree.txt new file mode 100644 index 0000000000..36c61952d1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData12.syntaxtree.txt @@ -0,0 +1,31 @@ +Markup block - Gen - 39 - (0:0,0) + Tag block - Gen - 39 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

+ Tag block - Gen - 31 - (3:0,3) - strong - strongtaghelper + StartTagAndEndTag - ... + Tag block - Gen - 10 - (11:0,11) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (13:0,13) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [strong>] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:2 + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (21:0,21) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (34:0,34) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (37:0,37) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData2.syntaxtree.txt new file mode 100644 index 0000000000..0c737a8620 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData2.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 5 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData3.syntaxtree.txt new file mode 100644 index 0000000000..7e0d25ac07 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData3.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 9 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (4:0,4) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData4.syntaxtree.txt new file mode 100644 index 0000000000..e70e24dfe5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData4.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; + Tag block - Gen - 5 - (20:0,20) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.diagnostics.txt new file mode 100644 index 0000000000..b1d7d8700f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.syntaxtree.txt new file mode 100644 index 0000000000..01b1d1f9b6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData5.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 8 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (4:0,4) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.diagnostics.txt @@ -0,0 +1 @@ +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.syntaxtree.txt new file mode 100644 index 0000000000..5a6ff698c3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData6.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 8 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

+ Tag block - Gen - 5 - (3:0,3) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData7.syntaxtree.txt new file mode 100644 index 0000000000..023cd26c93 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData7.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 16 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 4 - (3:0,3) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (7:0,7) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.diagnostics.txt @@ -0,0 +1 @@ +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.syntaxtree.txt new file mode 100644 index 0000000000..ad2d5cace9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData8.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 12 - (0:0,0) + Tag block - Gen - 12 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

+ Tag block - Gen - 4 - (3:0,3) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (7:0,7) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.diagnostics.txt new file mode 100644 index 0000000000..08a69712ee --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.diagnostics.txt @@ -0,0 +1 @@ +(1,12): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.syntaxtree.txt new file mode 100644 index 0000000000..9818766bf4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_AllowsTagHelperElementOptOutHTML_WithBlockData9.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 13 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 5 - (4:0,4) + Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + HtmlSymbolType.Bang;[!]; + Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:2 + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (9:0,9) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.diagnostics.txt new file mode 100644 index 0000000000..4c1f5923fe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.diagnostics.txt @@ -0,0 +1 @@ +(2,6): Error RZ2010: The tag is not allowed by parent

tag helper. Only child tags with name(s) 'br' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.syntaxtree.txt new file mode 100644 index 0000000000..9cc002d4f0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleInvalidChildrenWithWhitespace.syntaxtree.txt @@ -0,0 +1,25 @@ +Markup block - Gen - 53 - (0:0,0) + Tag block - Gen - 53 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Markup span - Gen - [LF ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 8 - (9:1,4) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,4) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF HelloLF ] - SpanEditHandler;Accepts:Any - (17:1,12) - Symbols:5 + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 9 - (38:3,4) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (38:3,4) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (47:3,13) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren.syntaxtree.txt new file mode 100644 index 0000000000..01e6fbb825 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 39 - (0:0,0) + Tag block - Gen - 39 - (0:0,0) - p - PTagHelper1 - PTagHelper2 + StartTagAndEndTag -

...

+ Tag block - Gen - 28 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + Tag block - Gen - 4 - (31:0,31) - br - BRTagHelper + StartTagOnly -
diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.syntaxtree.txt new file mode 100644 index 0000000000..01e6fbb825 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 39 - (0:0,0) + Tag block - Gen - 39 - (0:0,0) - p - PTagHelper1 - PTagHelper2 + StartTagAndEndTag -

...

+ Tag block - Gen - 28 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + Tag block - Gen - 4 - (31:0,31) - br - BRTagHelper + StartTagOnly -
diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleStartTagOnlyTagTagMode.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleStartTagOnlyTagTagMode.syntaxtree.txt new file mode 100644 index 0000000000..64f951bb83 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CanHandleStartTagOnlyTagTagMode.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 7 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper + StartTagOnly - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.diagnostics.txt new file mode 100644 index 0000000000..6668a36e1c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.diagnostics.txt @@ -0,0 +1 @@ +(1,1): Error RZ2011: Tag helpers 'InputTagHelper1' and 'InputTagHelper2' targeting element 'input' must not expect different TagStructure values. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.syntaxtree.txt new file mode 100644 index 0000000000..ce48d34623 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForInconsistentTagStructures.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 7 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + StartTagOnly - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.diagnostics.txt new file mode 100644 index 0000000000..2991a49bbc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.diagnostics.txt @@ -0,0 +1 @@ +(1,3): Error RZ1033: Found an end tag () for tag helper 'InputTagHelper' with tag structure that disallows an end tag ('WithoutEndTag'). diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.syntaxtree.txt new file mode 100644 index 0000000000..a422ce90ea --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_CreatesErrorForWithoutEndTagTagStructureForEndTags.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 8 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.diagnostics.txt new file mode 100644 index 0000000000..79250ce2c8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.diagnostics.txt @@ -0,0 +1,3 @@ +(1,4): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'b' are allowed. +(1,8): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'b' are allowed. +(1,13): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'b' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.syntaxtree.txt new file mode 100644 index 0000000000..bd6b403d54 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ HtmlComment block - Gen - 12 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.diagnostics.txt new file mode 100644 index 0000000000..2388259b98 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.diagnostics.txt @@ -0,0 +1 @@ +(1,16): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'b' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.syntaxtree.txt new file mode 100644 index 0000000000..c9af518946 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_FailsForContentWithCommentsAsChildren.syntaxtree.txt @@ -0,0 +1,25 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ HtmlComment block - Gen - 12 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.Text;[asdf]; + HtmlComment block - Gen - 12 - (19:0,19) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.diagnostics.txt new file mode 100644 index 0000000000..2d09355f58 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ1026: Encountered end tag "div" with no matching start tag. Are your start/end tags properly balanced? diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.syntaxtree.txt new file mode 100644 index 0000000000..e3b30ca509 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_HandlesMalformedNestedNonTagHelperTags_Correctly.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; + Statement block - Gen - 9 - (5:0,5) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 6 - (7:0,7) + Tag block - Gen - 6 - (7:0,7) + Markup span - Gen - [
] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (13:0,13) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.diagnostics.txt new file mode 100644 index 0000000000..28629d2c01 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.diagnostics.txt @@ -0,0 +1 @@ +(1,9): Error RZ1034: Found a malformed 'th:strong' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt new file mode 100644 index 0000000000..4940b7542b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_InvalidStructure_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) - th:p - PTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 12 - (6:0,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[th:strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt new file mode 100644 index 0000000000..22de186bc4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 26 - (0:0,0) + Tag block - Gen - 26 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 3 - (15:0,15) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (18:0,18) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt new file mode 100644 index 0000000000..05614264d0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt @@ -0,0 +1,44 @@ +Markup block - Gen - 113 - (0:0,0) + Tag block - Gen - 113 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 8 - (22:0,22) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (30:0,30) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 48 - (38:0,38) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 8 - (60:0,60) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (60:0,60) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (68:0,68) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (68:0,68) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (86:0,86) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (86:0,86) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (95:0,95) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (95:0,95) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt new file mode 100644 index 0000000000..239c2cdbf7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 48 - (0:0,0) + Tag block - Gen - 48 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 8 - (22:0,22) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (30:0,30) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt new file mode 100644 index 0000000000..ad433ae60b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt @@ -0,0 +1,28 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 8 - (15:0,15) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 3 - (23:0,23) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (26:0,26) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (30:0,30) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt new file mode 100644 index 0000000000..0500f965df --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt @@ -0,0 +1,28 @@ +Markup block - Gen - 55 - (0:0,0) + Tag block - Gen - 55 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 3 - (22:0,22) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (25:0,25) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (33:0,33) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (42:0,42) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt new file mode 100644 index 0000000000..d00fd94116 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt @@ -0,0 +1,22 @@ +Markup block - Gen - 57 - (0:0,0) + Tag block - Gen - 57 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 38 - (15:0,15) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 3 - (37:0,37) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (37:0,37) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (40:0,40) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt new file mode 100644 index 0000000000..d639b391ea --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt @@ -0,0 +1,22 @@ +Markup block - Gen - 67 - (0:0,0) + Tag block - Gen - 67 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 36 - (22:0,22) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 8 - (37:0,37) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (37:0,37) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (45:0,45) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt new file mode 100644 index 0000000000..9504c6b350 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt @@ -0,0 +1,22 @@ +Markup block - Gen - 45 - (0:0,0) + Tag block - Gen - 45 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 26 - (15:0,15) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 3 - (30:0,30) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (33:0,33) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt new file mode 100644 index 0000000000..99bedadac2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt @@ -0,0 +1,22 @@ +Markup block - Gen - 79 - (0:0,0) + Tag block - Gen - 79 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 48 - (22:0,22) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Tag block - Gen - 8 - (44:0,44) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (52:0,52) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (52:0,52) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt new file mode 100644 index 0000000000..991952c5bf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt @@ -0,0 +1,44 @@ +Markup block - Gen - 59 - (0:0,0) + Tag block - Gen - 59 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 3 - (15:0,15) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 3 - (18:0,18) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 26 - (21:0,21) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 3 - (36:0,36) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (39:0,39) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (47:0,47) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (51:0,51) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt new file mode 100644 index 0000000000..23ab1975cb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - th:p - PTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 8 - (6:0,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (14:0,14) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.diagnostics.txt new file mode 100644 index 0000000000..b4a862c68a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.diagnostics.txt @@ -0,0 +1 @@ +(1,19): Error RZ2010: The tag is not allowed by parent tag helper. Only child tags with name(s) 'br' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.syntaxtree.txt new file mode 100644 index 0000000000..93c384b7b6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - strong - StrongTagHelper + StartTagAndEndTag - ... + required - Minimized + Tag block - Gen - 8 - (17:0,17) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (25:0,25) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.syntaxtree.txt new file mode 100644 index 0000000000..e1e8489770 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 2 - (0:0,0) + Tag block - Gen - 2 - (0:0,0) + Markup span - Gen - [ - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

- [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[hi]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'p'. +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.syntaxtree.txt new file mode 100644 index 0000000000..db87b3efce --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 14 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

- [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'p'. +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.syntaxtree.txt new file mode 100644 index 0000000000..a2872d129e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

- [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[hi]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.syntaxtree.txt new file mode 100644 index 0000000000..af0d425a78 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 6 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 3 - (3:0,3) + Markup span - Gen - [ - 18 - (0:0,0) + Tag block - Gen - 18 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

- [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.diagnostics.txt new file mode 100644 index 0000000000..fa993c1831 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.diagnostics.txt @@ -0,0 +1 @@ +(1,35): Error RZ1035: Missing close angle for tag helper 'p'. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.syntaxtree.txt new file mode 100644 index 0000000000..c1a1376e45 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

- [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[hi]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'p'. +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.syntaxtree.txt new file mode 100644 index 0000000000..7190c41022 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 18 - (0:0,0) + Tag block - Gen - 18 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

- [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 3 - (15:0,15) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'p'. +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.syntaxtree.txt new file mode 100644 index 0000000000..08482eceae --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

- [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[hi]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Tag block - Gen - 3 - (32:0,32) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.diagnostics.txt new file mode 100644 index 0000000000..ad599e94e5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'p'. +(1,18): Error RZ1035: Missing close angle for tag helper 'p'. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.syntaxtree.txt new file mode 100644 index 0000000000..d6c3ff0292 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 18 - (0:0,0) + Tag block - Gen - 18 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

- [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt new file mode 100644 index 0000000000..1cbea04a30 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 5 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt new file mode 100644 index 0000000000..4bb7cd2fd2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 24 - (0:0,0) - strong - catchAllTagHelper + SelfClosing - + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.syntaxtree.txt new file mode 100644 index 0000000000..256d4a4dad --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - strong - catchAllTagHelper + SelfClosing - + catchAll - DoubleQuotes + Markup block - Gen - 13 - (18:0,18) + Markup block - Gen - 13 - (18:0,18) + Expression block - Gen - 13 - (18:0,18) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (19:0,19) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.syntaxtree.txt new file mode 100644 index 0000000000..8660bf1ce5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 47 - (0:0,0) + Tag block - Gen - 47 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.syntaxtree.txt new file mode 100644 index 0000000000..f6269ce7cf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 58 - (0:0,0) + Tag block - Gen - 58 - (0:0,0) - strong - catchAllTagHelper + StartTagAndEndTag - ... + catchAll - DoubleQuotes + Markup block - Gen - 13 - (18:0,18) + Markup block - Gen - 13 - (18:0,18) + Expression block - Gen - 13 - (18:0,18) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (19:0,19) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.syntaxtree.txt new file mode 100644 index 0000000000..205f7de59e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) + Markup span - Gen - [ - 12 - (4:0,4) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [ />] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.syntaxtree.txt new file mode 100644 index 0000000000..9aab48d3d6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) + Markup span - Gen - [ - 12 - (4:0,4) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (17:0,17) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.syntaxtree.txt new file mode 100644 index 0000000000..6f4eebef55 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 33 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) - p - pTagHelper + SelfClosing -

+ notRequired - DoubleQuotes + Markup span - Gen - [a] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[a]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.syntaxtree.txt new file mode 100644 index 0000000000..6340fdff0c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 45 - (0:0,0) + Tag block - Gen - 45 - (0:0,0) - p - pTagHelper + SelfClosing -

+ notRequired - DoubleQuotes + Markup block - Gen - 13 - (16:0,16) + Markup block - Gen - 13 - (16:0,16) + Expression block - Gen - 13 - (16:0,16) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (17:0,17) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.syntaxtree.txt new file mode 100644 index 0000000000..d2bc88e49d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 51 - (0:0,0) + Tag block - Gen - 51 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ notRequired - DoubleQuotes + Markup span - Gen - [a] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[a]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.syntaxtree.txt new file mode 100644 index 0000000000..fc452e947d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - div - divTagHelper + SelfClosing -
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt new file mode 100644 index 0000000000..11cb0b79ed --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 7 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (3:0,3) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.syntaxtree.txt new file mode 100644 index 0000000000..0b7382e136 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 41 - (0:0,0) + Tag block - Gen - 41 - (0:0,0) - div - divTagHelper + SelfClosing -
+ style - DoubleQuotes + Markup block - Gen - 13 - (12:0,12) + Markup block - Gen - 13 - (12:0,12) + Expression block - Gen - 13 - (12:0,12) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (13:0,13) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.syntaxtree.txt new file mode 100644 index 0000000000..9bb5012527 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 48 - (0:0,0) + Tag block - Gen - 48 - (0:0,0) - div - divTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.syntaxtree.txt new file mode 100644 index 0000000000..4be996abc7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 71 - (0:0,0) + Tag block - Gen - 71 - (0:0,0) - div - divTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 13 - (12:0,12) + Markup block - Gen - 13 - (12:0,12) + Expression block - Gen - 13 - (12:0,12) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (13:0,13) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + class - DoubleQuotes + Markup block - Gen - 13 - (34:0,34) + Markup block - Gen - 13 - (34:0,34) + Expression block - Gen - 13 - (34:0,34) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (35:0,35) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.syntaxtree.txt new file mode 100644 index 0000000000..57754585e6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.syntaxtree.txt @@ -0,0 +1,25 @@ +Markup block - Gen - 63 - (0:0,0) + Tag block - Gen - 63 - (0:0,0) - div - divTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [words] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + HtmlSymbolType.Text;[words]; + Tag block - Gen - 8 - (31:0,31) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [and] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1 + HtmlSymbolType.Text;[and]; + Tag block - Gen - 9 - (42:0,42) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [spaces] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:1 + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.syntaxtree.txt new file mode 100644 index 0000000000..b25f036325 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - p - pTagHelper - catchAllTagHelper + SelfClosing -

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[hi]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.syntaxtree.txt new file mode 100644 index 0000000000..8d1dd7cb25 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 49 - (0:0,0) + Tag block - Gen - 49 - (0:0,0) - p - pTagHelper - catchAllTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.syntaxtree.txt new file mode 100644 index 0000000000..f6614cea71 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 42 - (0:0,0) + Tag block - Gen - 42 - (0:0,0) - div - divTagHelper - catchAllTagHelper + SelfClosing -
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1 + HtmlSymbolType.Text;[hi]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.syntaxtree.txt new file mode 100644 index 0000000000..d777e6a82a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 63 - (0:0,0) + Tag block - Gen - 63 - (0:0,0) - div - divTagHelper - catchAllTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.syntaxtree.txt new file mode 100644 index 0000000000..a423d0b84b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 65 - (0:0,0) + Tag block - Gen - 65 - (0:0,0) - div - divTagHelper - catchAllTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; + catchAll - DoubleQuotes + Markup block - Gen - 4 - (36:0,36) + Markup block - Gen - 2 - (36:0,36) + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.syntaxtree.txt new file mode 100644 index 0000000000..7f2ace064b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.syntaxtree.txt @@ -0,0 +1,39 @@ +Markup block - Gen - 97 - (0:0,0) + Tag block - Gen - 97 - (0:0,0) - div - divTagHelper - catchAllTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 13 - (12:0,12) + Markup block - Gen - 13 - (12:0,12) + Expression block - Gen - 13 - (12:0,12) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (13:0,13) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + class - DoubleQuotes + Markup block - Gen - 13 - (34:0,34) + Markup block - Gen - 13 - (34:0,34) + Expression block - Gen - 13 - (34:0,34) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (35:0,35) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + catchAll - DoubleQuotes + Markup block - Gen - 13 - (59:0,59) + Markup block - Gen - 13 - (59:0,59) + Expression block - Gen - 13 - (59:0,59) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (59:0,59) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (60:0,60) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (75:0,75) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt new file mode 100644 index 0000000000..bce3105345 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 7 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.syntaxtree.txt new file mode 100644 index 0000000000..7bbbc5f2dc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.syntaxtree.txt @@ -0,0 +1,28 @@ +Markup block - Gen - 78 - (0:0,0) + Tag block - Gen - 78 - (0:0,0) - div - divTagHelper - catchAllTagHelper + StartTagAndEndTag -
...
+ style - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[btn]; + catchAll - DoubleQuotes + Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1 + HtmlSymbolType.Text;[hi]; + Markup span - Gen - [words] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Text;[words]; + Tag block - Gen - 8 - (46:0,46) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [and] - SpanEditHandler;Accepts:Any - (54:0,54) - Symbols:1 + HtmlSymbolType.Text;[and]; + Tag block - Gen - 9 - (57:0,57) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (57:0,57) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [spaces] - SpanEditHandler;Accepts:Any - (66:0,66) - Symbols:1 + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt new file mode 100644 index 0000000000..d41637e1d1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 11 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (5:0,5) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt new file mode 100644 index 0000000000..a8a944a3d2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) - p - pTagHelper + SelfClosing -

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt new file mode 100644 index 0000000000..8e3d683785 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 27 - (0:0,0) - p - pTagHelper + SelfClosing -

+ class - DoubleQuotes + Markup block - Gen - 13 - (10:0,10) + Markup block - Gen - 13 - (10:0,10) + Expression block - Gen - 13 - (10:0,10) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (11:0,11) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt new file mode 100644 index 0000000000..c75b05c678 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt new file mode 100644 index 0000000000..76053c6e9e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 45 - (0:0,0) + Tag block - Gen - 45 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup block - Gen - 13 - (10:0,10) + Markup block - Gen - 13 - (10:0,10) + Expression block - Gen - 13 - (10:0,10) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (11:0,11) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:5 + HtmlSymbolType.Text;[words]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[and]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt new file mode 100644 index 0000000000..adde83f65e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 50 - (0:0,0) + Tag block - Gen - 50 - (0:0,0) - p - pTagHelper + StartTagAndEndTag -

...

+ class - DoubleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [words] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.Text;[words]; + Tag block - Gen - 8 - (20:0,20) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [and] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + HtmlSymbolType.Text;[and]; + Tag block - Gen - 9 - (31:0,31) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [spaces] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:1 + HtmlSymbolType.Text;[spaces]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren1.syntaxtree.txt new file mode 100644 index 0000000000..e29f5606fd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren1.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 13 - (0:0,0) + Tag block - Gen - 13 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 6 - (3:0,3) - br - BRTagHelper + SelfClosing -
diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.diagnostics.txt new file mode 100644 index 0000000000..251fa1828e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.diagnostics.txt @@ -0,0 +1,5 @@ +(1,12): Error RZ2009: The parent tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong' are allowed. +(1,19): Error RZ2010: The
tag is not allowed by parent tag helper. Only child tags with name(s) 'strong' are allowed. +(1,23): Error RZ2010: The tag is not allowed by parent tag helper. Only child tags with name(s) 'strong' are allowed. +(1,52): Error RZ2010: The
tag is not allowed by parent

tag helper. Only child tags with name(s) 'strong' are allowed. +(1,57): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.syntaxtree.txt new file mode 100644 index 0000000000..0358dba7ff --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren10.syntaxtree.txt @@ -0,0 +1,30 @@ +Markup block - Gen - 69 - (0:0,0) + Tag block - Gen - 69 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 47 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Title:] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[Title:]; + Tag block - Gen - 4 - (17:0,17) - br - BRTagHelper + StartTagOnly -
+ Tag block - Gen - 4 - (21:0,21) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[em]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [A Very Cool] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:5 + HtmlSymbolType.Text;[A]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Very]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Cool]; + Tag block - Gen - 5 - (36:0,36) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[em]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (50:0,50) - br - BRTagHelper + SelfClosing -
+ Markup span - Gen - [Something] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:1 + HtmlSymbolType.Text;[Something]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.diagnostics.txt new file mode 100644 index 0000000000..6589efa832 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.diagnostics.txt @@ -0,0 +1,2 @@ +(1,52): Error RZ2010: The
tag is not allowed by parent

tag helper. Only child tags with name(s) 'custom' are allowed. +(1,57): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'custom' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.syntaxtree.txt new file mode 100644 index 0000000000..a85bb6287a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren11.syntaxtree.txt @@ -0,0 +1,39 @@ +Markup block - Gen - 69 - (0:0,0) + Tag block - Gen - 69 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 8 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[custom]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Title:] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[Title:]; + Tag block - Gen - 4 - (17:0,17) - br - BRTagHelper + StartTagOnly -
+ Tag block - Gen - 4 - (21:0,21) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[em]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [A Very Cool] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:5 + HtmlSymbolType.Text;[A]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Very]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Cool]; + Tag block - Gen - 5 - (36:0,36) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[em]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (41:0,41) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[custom]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (50:0,50) - br - BRTagHelper + SelfClosing -
+ Markup span - Gen - [Something] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:1 + HtmlSymbolType.Text;[Something]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.diagnostics.txt new file mode 100644 index 0000000000..063da0eb5b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'custom' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.syntaxtree.txt new file mode 100644 index 0000000000..665ea44a2d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren12.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 9 - (0:0,0) + Tag block - Gen - 9 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 2 - (3:0,3) + Markup span - Gen - [ tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'custom' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren13.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren13.syntaxtree.txt new file mode 100644 index 0000000000..88f8f47bea --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren13.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 8 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 1 - (3:0,3) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.diagnostics.txt new file mode 100644 index 0000000000..dba76059c7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.diagnostics.txt @@ -0,0 +1 @@ +(1,33): Error RZ2009: The parent tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'custom, strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.syntaxtree.txt new file mode 100644 index 0000000000..e4414b30e4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren14.syntaxtree.txt @@ -0,0 +1,31 @@ +Markup block - Gen - 76 - (0:0,0) + Tag block - Gen - 76 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 8 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[custom]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 4 - (11:0,11) - br - BRTagHelper + StartTagOnly -
+ Markup span - Gen - [:] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.Text;[:]; + Tag block - Gen - 39 - (16:0,16) - strong - StrongTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 22 - (24:0,24) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Markup span - Gen - [:] - SpanEditHandler;Accepts:Any - (55:0,55) - Symbols:1 + HtmlSymbolType.Text;[:]; + Tag block - Gen - 7 - (56:0,56) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (63:0,63) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (63:0,63) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[custom]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren2.syntaxtree.txt new file mode 100644 index 0000000000..dee98ec5a8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren2.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 6 - (5:1,0) - br - BRTagHelper + SelfClosing -
+ Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (11:1,6) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.diagnostics.txt new file mode 100644 index 0000000000..a7c54ec3cd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.diagnostics.txt @@ -0,0 +1 @@ +(1,5): Error RZ2010: The
tag is not allowed by parent

tag helper. Only child tags with name(s) 'strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.syntaxtree.txt new file mode 100644 index 0000000000..3f5750436c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren3.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 11 - (0:0,0) + Tag block - Gen - 11 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 4 - (3:0,3) - br - BRTagHelper + StartTagOnly -
diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.diagnostics.txt new file mode 100644 index 0000000000..e4dbe01b43 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.syntaxtree.txt new file mode 100644 index 0000000000..500af4f098 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren4.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 12 - (0:0,0) + Tag block - Gen - 12 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.Text;[Hello]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.diagnostics.txt new file mode 100644 index 0000000000..538e0bf30f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.diagnostics.txt @@ -0,0 +1 @@ +(1,5): Error RZ2010: The
tag is not allowed by parent

tag helper. Only child tags with name(s) 'br, strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.syntaxtree.txt new file mode 100644 index 0000000000..4fbe5143cd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren5.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 13 - (0:0,0) + Tag block - Gen - 13 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 6 - (3:0,3) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[hr]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.diagnostics.txt new file mode 100644 index 0000000000..4206048463 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.diagnostics.txt @@ -0,0 +1,2 @@ +(1,5): Error RZ2010: The
tag is not allowed by parent

tag helper. Only child tags with name(s) 'strong' are allowed. +(1,8): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.syntaxtree.txt new file mode 100644 index 0000000000..2f54b96414 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren6.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 16 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 4 - (3:0,3) - br - BRTagHelper + StartTagOnly -
+ Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1 + HtmlSymbolType.Text;[Hello]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.diagnostics.txt new file mode 100644 index 0000000000..5c40a3ac80 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.diagnostics.txt @@ -0,0 +1,3 @@ +(1,12): Error RZ2009: The parent tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong' are allowed. +(1,28): Error RZ2010: The
tag is not allowed by parent

tag helper. Only child tags with name(s) 'strong' are allowed. +(1,33): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.syntaxtree.txt new file mode 100644 index 0000000000..17c1123978 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren7.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 45 - (0:0,0) + Tag block - Gen - 45 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 23 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Title:] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[Title:]; + Tag block - Gen - 6 - (26:0,26) - br - BRTagHelper + SelfClosing -
+ Markup span - Gen - [Something] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Text;[Something]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.diagnostics.txt new file mode 100644 index 0000000000..97cf99a535 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.diagnostics.txt @@ -0,0 +1,2 @@ +(1,12): Error RZ2009: The parent tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong, br' are allowed. +(1,33): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong, br' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.syntaxtree.txt new file mode 100644 index 0000000000..17c1123978 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren8.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 45 - (0:0,0) + Tag block - Gen - 45 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 23 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Title:] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.Text;[Title:]; + Tag block - Gen - 6 - (26:0,26) - br - BRTagHelper + SelfClosing -
+ Markup span - Gen - [Something] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Text;[Something]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.diagnostics.txt new file mode 100644 index 0000000000..8209310bcf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.diagnostics.txt @@ -0,0 +1,2 @@ +(1,14): Error RZ2009: The parent tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong, br' are allowed. +(1,39): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'strong, br' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.syntaxtree.txt new file mode 100644 index 0000000000..cecad52992 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsAllowedChildren9.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 51 - (0:0,0) + Tag block - Gen - 51 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 23 - (5:0,5) - strong - StrongTagHelper + StartTagAndEndTag - ... + Markup span - Gen - [Title:] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[Title:]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 6 - (30:0,30) - br - BRTagHelper + SelfClosing -
+ Markup span - Gen - [ Something] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Something]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent1.syntaxtree.txt new file mode 100644 index 0000000000..ad2eac7bd5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent1.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (8:0,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent2.syntaxtree.txt new file mode 100644 index 0000000000..83c4bcba88 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent2.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 24 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 17 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent3.syntaxtree.txt new file mode 100644 index 0000000000..81fefe0038 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent3.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 17 - (5:0,5) - strong - StrongTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 6 - (22:0,22) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent4.syntaxtree.txt new file mode 100644 index 0000000000..eb31ff3b0a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent4.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 34 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (8:0,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (16:0,16) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (25:0,25) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent5.syntaxtree.txt new file mode 100644 index 0000000000..78d1289e40 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedRequiredParent5.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 41 - (0:0,0) + Tag block - Gen - 41 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 34 - (3:0,3) - strong - StrongTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 8 - (11:0,11) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (19:0,19) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent1.syntaxtree.txt new file mode 100644 index 0000000000..14e3b0b1d8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent1.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper + StartTagOnly - + Tag block - Gen - 8 - (7:0,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (15:0,15) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent2.syntaxtree.txt new file mode 100644 index 0000000000..280c9a6d76 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent2.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 7 - (3:0,3) - input - InputTagHelper + StartTagOnly - + Tag block - Gen - 17 - (10:0,10) - strong - StrongTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent3.syntaxtree.txt new file mode 100644 index 0000000000..8939ea4426 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent3.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 4 - (3:0,3) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 17 - (7:0,7) - strong - StrongTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent4.syntaxtree.txt new file mode 100644 index 0000000000..f54332de79 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent4.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 11 - (3:0,3) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 4 - (6:0,6) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 17 - (14:0,14) - strong - StrongTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent5.syntaxtree.txt new file mode 100644 index 0000000000..14e3b0b1d8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent5.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper + StartTagOnly - + Tag block - Gen - 8 - (7:0,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (15:0,15) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent6.syntaxtree.txt new file mode 100644 index 0000000000..377fb3c34c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent6.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 26 - (0:0,0) + Tag block - Gen - 26 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 9 - (3:0,3) - input - InputTagHelper + SelfClosing - + Tag block - Gen - 10 - (12:0,12) - strong - StrongTagHelper + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent7.syntaxtree.txt new file mode 100644 index 0000000000..09a5d5c0a2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent7.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 6 - (3:0,3) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 10 - (9:0,9) - strong - StrongTagHelper + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent8.syntaxtree.txt new file mode 100644 index 0000000000..72499665fa --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNestedVoidSelfClosingRequiredParent8.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 13 - (3:0,3) - p - PTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 6 - (6:0,6) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 10 - (16:0,16) - strong - StrongTagHelper + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.diagnostics.txt new file mode 100644 index 0000000000..063da0eb5b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2009: The parent

tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'custom' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.syntaxtree.txt new file mode 100644 index 0000000000..fb989e2a66 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAll.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 9 - (0:0,0) + Tag block - Gen - 9 - (0:0,0) - p - PTagHelper - CatchAllTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 2 - (3:0,3) + Markup span - Gen - [ tag helper does not allow non-tag content. Only child tag helper(s) targeting tag name(s) 'custom' are allowed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.syntaxtree.txt new file mode 100644 index 0000000000..21e890a761 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 15 - (0:0,0) + Tag block - Gen - 15 - (0:0,0) - th:p - PTagHelper - CatchAllTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 2 - (6:0,6) + Markup span - Gen - [ - 11 - (0:0,0) + Tag block - Gen - 11 - (0:0,0) - p - PTagHelper - CatchALlTagHelper + StartTagAndEndTag -

+ Tag block - Gen - 8 - (3:0,3) - strong - StrongTagHelper - CatchALlTagHelper + StartTagAndEndTag - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.diagnostics.txt @@ -0,0 +1 @@ +(1,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.syntaxtree.txt new file mode 100644 index 0000000000..c413ca3712 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags2.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 20 - (0:0,0) + Tag block - Gen - 20 - (0:0,0) - p - PTagHelper - CatchALlTagHelper + StartTagAndEndTag -

+ Tag block - Gen - 17 - (3:0,3) - strong - StrongTagHelper - CatchALlTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.diagnostics.txt new file mode 100644 index 0000000000..c430b77aba --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.diagnostics.txt @@ -0,0 +1,2 @@ +(1,5): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,17): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.syntaxtree.txt new file mode 100644 index 0000000000..2d2b302121 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags3.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 15 - (0:0,0) - p - PTagHelper - CatchALlTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 8 - (3:0,3) - strong - StrongTagHelper - CatchALlTagHelper + StartTagAndEndTag - + Tag block - Gen - 8 - (15:0,15) - strong - StrongTagHelper - CatchALlTagHelper + StartTagAndEndTag - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.diagnostics.txt new file mode 100644 index 0000000000..23376ed537 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.diagnostics.txt @@ -0,0 +1,2 @@ +(1,18): Error RZ1035: Missing close angle for tag helper 'strong'. +(1,26): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.syntaxtree.txt new file mode 100644 index 0000000000..c5e44703d8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags4.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 1 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 35 - (1:0,1) - p - PTagHelper - CatchALlTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 1 - (4:0,4) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 18 - (5:0,5) - strong - StrongTagHelper - CatchALlTagHelper + StartTagAndEndTag - ... - 2 - (13:0,13) + Markup span - Gen - [ - 9 - (23:0,23) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.diagnostics.txt new file mode 100644 index 0000000000..2ec0cc5b46 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.diagnostics.txt @@ -0,0 +1 @@ +(1,27): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.syntaxtree.txt new file mode 100644 index 0000000000..af3ec8083d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags5.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 37 - (0:0,0) + Tag block - Gen - 1 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 36 - (1:0,1) - p - PTagHelper - CatchALlTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 1 - (4:0,4) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 19 - (5:0,5) - strong - StrongTagHelper - CatchALlTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 2 - (13:0,13) + Markup span - Gen - [ - 9 - (24:0,24) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.diagnostics.txt new file mode 100644 index 0000000000..593733688c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.diagnostics.txt @@ -0,0 +1 @@ +(1,28): Error RZ1034: Found a malformed 'custom' tag helper. Tag helpers must have a start and end tag or be self closing. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.syntaxtree.txt new file mode 100644 index 0000000000..2a2fed5efd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsPartialRequiredParentTags6.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 38 - (0:0,0) + Tag block - Gen - 1 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 37 - (1:0,1) - p - PTagHelper - CatchALlTagHelper + StartTagAndEndTag -

...

+ Tag block - Gen - 1 - (4:0,4) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 20 - (5:0,5) - custom - CatchALlTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 2 - (13:0,13) + Markup span - Gen - [ - 1 - (15:0,15) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 9 - (25:0,25) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[custom]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt new file mode 100644 index 0000000000..921662bbfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildren.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 36 - (0:0,0) - th:p - PTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 23 - (6:0,6) - th:strong - StrongTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt new file mode 100644 index 0000000000..921662bbfe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/Rewrite_UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 36 - (0:0,0) - th:p - PTagHelper + StartTagAndEndTag - ... + Tag block - Gen - 23 - (6:0,6) - th:strong - StrongTagHelper + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers1.syntaxtree.txt new file mode 100644 index 0000000000..6c1bc8294f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers1.syntaxtree.txt @@ -0,0 +1,26 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + HtmlComment block - Gen - 20 - (5:0,5) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (25:0,25) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers2.syntaxtree.txt new file mode 100644 index 0000000000..1e8a426d4d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers2.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + HtmlComment block - Gen - 13 - (5:0,5) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (18:0,18) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers3.syntaxtree.txt new file mode 100644 index 0000000000..fccbe89ca2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers3.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:10 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.QuestionMark;[?]; + HtmlSymbolType.Text;[xml]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.QuestionMark;[?]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (25:0,25) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers4.syntaxtree.txt new file mode 100644 index 0000000000..e06c9eceb9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers4.syntaxtree.txt @@ -0,0 +1,26 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ - 4 - (11:0,11) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (12:0,12) - Symbols:1 + CSharpSymbolType.Identifier;[foo]; + Markup span - Gen - [ ?>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.QuestionMark;[?]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (18:0,18) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers5.syntaxtree.txt new file mode 100644 index 0000000000..fa11c0d2ee --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers5.syntaxtree.txt @@ -0,0 +1,25 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ - 4 - (15:0,15) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (16:0,16) - Symbols:1 + CSharpSymbolType.Identifier;[foo]; + Markup span - Gen - [ >] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (21:0,21) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers6.syntaxtree.txt new file mode 100644 index 0000000000..8ddf67910b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers6.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:11 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Bang;[!]; + HtmlSymbolType.Text;[DOCTYPE]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[hello]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + HtmlSymbolType.Text;[world]; + HtmlSymbolType.DoubleQuote;["]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (30:0,30) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers7.syntaxtree.txt new file mode 100644 index 0000000000..690e676b8b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers7.syntaxtree.txt @@ -0,0 +1,26 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:13 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Bang;[!]; + HtmlSymbolType.LeftBracket;[[]; + HtmlSymbolType.Text;[CDATA]; + HtmlSymbolType.LeftBracket;[[]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.RightBracket;[]]; + HtmlSymbolType.RightBracket;[]]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (30:0,30) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers8.syntaxtree.txt new file mode 100644 index 0000000000..cd0bd27d7e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteSpecialTagTagHelpers8.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 5 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ - 4 - (15:0,15) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (16:0,16) - Symbols:1 + CSharpSymbolType.Identifier;[foo]; + Markup span - Gen - [ ]]>] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.RightBracket;[]]; + HtmlSymbolType.RightBracket;[]]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 6 - (23:0,23) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[foo]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers1.syntaxtree.txt new file mode 100644 index 0000000000..95e679a7b3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers1.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 24 - (0:0,0) - text - texttaghelper + StartTagAndEndTag - ... + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers2.syntaxtree.txt new file mode 100644 index 0000000000..1236b311e3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers2.syntaxtree.txt @@ -0,0 +1,30 @@ +Markup block - Gen - 27 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 27 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 24 - (2:0,2) + Tag block - Gen - 6 - (2:0,2) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + Tag block - Gen - 7 - (19:0,19) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (26:0,26) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers3.syntaxtree.txt new file mode 100644 index 0000000000..173f6d71a7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers3.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 34 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 34 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 31 - (2:0,2) + Tag block - Gen - 6 - (2:0,2) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 18 - (8:0,8) - p - ptaghelper + StartTagAndEndTag -

...

+ Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + Tag block - Gen - 7 - (26:0,26) + Transition span - Gen - [
] - SpanEditHandler;Accepts:None - (26:0,26) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers4.syntaxtree.txt new file mode 100644 index 0000000000..e3a50c36b2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotRewriteTextTagTransitionTagHelpers4.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 34 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 34 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 31 - (2:0,2) + Tag block - Gen - 31 - (2:0,2) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 24 - (5:0,5) - text - texttaghelper + StartTagAndEndTag - ... + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.syntaxtree.txt new file mode 100644 index 0000000000..f99806f244 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 13 - (0:0,0) + Markup span - Gen - [ - 5 - (7:0,7) + Markup span - Gen - [ type] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (22:0,22) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.syntaxtree.txt new file mode 100644 index 0000000000..e099e1aa75 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.syntaxtree.txt @@ -0,0 +1,31 @@ +Markup block - Gen - 44 - (0:0,0) + Tag block - Gen - 26 - (0:0,0) + Markup span - Gen - [ - 18 - (7:0,7) + Markup span - Gen - [ types='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[types]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (35:0,35) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.syntaxtree.txt new file mode 100644 index 0000000000..2b9df57d36 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.syntaxtree.txt @@ -0,0 +1,34 @@ +Markup block - Gen - 51 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) + Markup span - Gen - [ - 25 - (7:0,7) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - [ invalid] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[invalid]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (42:0,42) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.syntaxtree.txt new file mode 100644 index 0000000000..a5aed18fbb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.syntaxtree.txt @@ -0,0 +1,43 @@ +Markup block - Gen - 60 - (0:0,0) + Tag block - Gen - 42 - (0:0,0) + Markup span - Gen - [ - 17 - (7:0,7) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/ng-*] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[ng-*]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup block - Gen - 17 - (24:0,24) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (51:0,51) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks1.syntaxtree.txt new file mode 100644 index 0000000000..7eba221fee --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks1.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 18 - (0:0,0) + Tag block - Gen - 18 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 11 - (3:0,3) - div - divtaghelper + StartTagAndEndTag -
...
diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks2.syntaxtree.txt new file mode 100644 index 0000000000..445dc2fc02 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks2.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

...

+ Markup span - Gen - [Hello World ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:4 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 11 - (15:0,15) - div - divtaghelper + StartTagAndEndTag -
...
diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks3.syntaxtree.txt new file mode 100644 index 0000000000..f658e393a5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks3.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

...

+ Markup span - Gen - [Hel] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.Text;[Hel]; + Tag block - Gen - 9 - (6:0,6) - p - ptaghelper + StartTagAndEndTag -

...

+ Markup span - Gen - [lo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[lo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 23 - (20:0,20) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 16 - (23:0,23) - div - divtaghelper + StartTagAndEndTag -
...
+ Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks4.syntaxtree.txt new file mode 100644 index 0000000000..fdb284a5a9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_RewritesNestedTagHelperTagBlocks4.syntaxtree.txt @@ -0,0 +1,35 @@ +Markup block - Gen - 55 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

...

+ Markup span - Gen - [Hel] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.Text;[Hel]; + Tag block - Gen - 8 - (6:0,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [lo] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[lo]; + Tag block - Gen - 9 - (16:0,16) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 25 - (30:0,30) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 6 - (33:0,33) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[span]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1 + HtmlSymbolType.Text;[World]; + Tag block - Gen - 7 - (44:0,44) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[span]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags1.syntaxtree.txt new file mode 100644 index 0000000000..6c911618f4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags1.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) + Markup span - Gen - [ - 17 - (7:0,7) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (25:0,25) - input - inputtaghelper + SelfClosing - + Tag block - Gen - 9 - (34:0,34) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags2.syntaxtree.txt new file mode 100644 index 0000000000..8772c1273b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags2.syntaxtree.txt @@ -0,0 +1,47 @@ +Markup block - Gen - 76 - (0:0,0) + Tag block - Gen - 58 - (0:0,0) + Markup span - Gen - [ - 15 - (7:0,7) + Markup span - Gen - [ id='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[id]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [scriptTag] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Text;[scriptTag]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup block - Gen - 17 - (22:0,22) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup block - Gen - 18 - (39:0,39) + Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [something] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Text;[something]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (57:0,57) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (58:0,58) - input - inputtaghelper + SelfClosing - + Tag block - Gen - 9 - (67:0,67) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (67:0,67) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags3.syntaxtree.txt new file mode 100644 index 0000000000..bea3a0a214 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags3.syntaxtree.txt @@ -0,0 +1,53 @@ +Markup block - Gen - 84 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) + Markup span - Gen - [ - 17 - (7:0,7) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 50 - (25:0,25) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 25 - (28:0,28) + Markup span - Gen - [ - 17 - (35:0,35) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (52:0,52) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (53:0,53) - input - inputtaghelper + SelfClosing - + Tag block - Gen - 9 - (62:0,62) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (62:0,62) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (75:0,75) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (75:0,75) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags4.syntaxtree.txt new file mode 100644 index 0000000000..f21e4a9d05 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/TagHelperParseTreeRewriter_UnderstandsTagHelpersInHtmlTypedScriptTags4.syntaxtree.txt @@ -0,0 +1,59 @@ +Markup block - Gen - 85 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) + Markup span - Gen - [ - 17 - (7:0,7) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:3 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 51 - (25:0,25) - p - ptaghelper + StartTagAndEndTag -

...

+ Tag block - Gen - 26 - (28:0,28) + Markup span - Gen - [ - 18 - (35:0,35) + Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[type]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [text/] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:2 + HtmlSymbolType.Text;[text]; + HtmlSymbolType.ForwardSlash;[/]; + Markup span - Gen - [ html] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[html]; + Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (52:0,52) - Symbols:1 + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (53:0,53) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (54:0,54) - Symbols:5 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (63:0,63) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (63:0,63) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 9 - (76:0,76) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (76:0,76) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxTreeNodeWriter.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxTreeNodeWriter.cs index 50f876a589..b0a268d0c6 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxTreeNodeWriter.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxTreeNodeWriter.cs @@ -71,11 +71,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy WriteSeparator(); Write(attribute.AttributeStructure); - Depth++; - WriteNewLine(); - // Recursively render attribute value - VisitNode(attribute.Value); - Depth--; + if (attribute.Value != null) + { + Depth++; + WriteNewLine(); + // Recursively render attribute value + VisitNode(attribute.Value); + Depth--; + } } Depth--; }