diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperBlockRewriterTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperBlockRewriterTest.cs index 06131ae599..440b9486cd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperBlockRewriterTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/TagHelperBlockRewriterTest.cs @@ -3,320 +3,141 @@ using System; using System.Collections.Generic; -using System.Globalization; -using System.Linq; using Xunit; namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class TagHelperBlockRewriterTest : TagHelperRewritingTestBase { - public static TheoryData SymbolBoundAttributeData + public TagHelperBlockRewriterTest() { - get - { - var factory = new SpanFactory(); - - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("ul", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode( - "[item]", - factory.CodeMarkup("items").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("ul", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode( - "[(item)]", - factory.CodeMarkup("items").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("button", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode( - "(click)", - factory.CodeMarkup("doSomething()").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes) - }, - children: factory.Markup("Click Me"))) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("button", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode( - "(^click)", - factory.CodeMarkup("doSomething()").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes) - }, - children: factory.Markup("Click Me"))) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("template", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode( - "*something", - factory.Markup("value"), - AttributeStructure.SingleQuotes) - })) - }, - { - "
", - new MarkupBlock( - new MarkupTagHelperBlock("div", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("#localminimized", null, AttributeStructure.Minimized) - })) - }, - { - "
", - new MarkupBlock( - new MarkupTagHelperBlock("div", - attributes: new List - { - new TagHelperAttributeNode("bound", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("#local", factory.Markup("value"), AttributeStructure.SingleQuotes) - })) - }, - }; - } + UseBaselineTests = true; } - [Theory] - [MemberData(nameof(SymbolBoundAttributeData))] - public void Rewrite_CanHandleSymbolBoundAttributes(string documentContent, object expectedOutput) + public static TagHelperDescriptor[] SymbolBoundAttributes_Descriptors = new[] { - // Arrange - var descriptors = new[] - { - TagHelperDescriptorBuilder.Create("CatchAllTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("*") - .RequireAttributeDescriptor(attribute => attribute.Name("bound"))) - .BoundAttributeDescriptor(attribute => - attribute - .Name("[item]") - .PropertyName("ListItems") - .TypeName(typeof(List).Namespace + "List")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("[(item)]") - .PropertyName("ArrayItems") - .TypeName(typeof(string[]).Namespace + "System.String[]")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("(click)") - .PropertyName("Event1") - .TypeName(typeof(Action).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("(^click)") - .PropertyName("Event2") - .TypeName(typeof(Action).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("*something") - .PropertyName("StringProperty1") - .TypeName(typeof(string).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("#local") - .PropertyName("StringProperty2") - .TypeName(typeof(string).FullName)) - .Build() - }; + TagHelperDescriptorBuilder.Create("CatchAllTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("*") + .RequireAttributeDescriptor(attribute => attribute.Name("bound"))) + .BoundAttributeDescriptor(attribute => + attribute + .Name("[item]") + .PropertyName("ListItems") + .TypeName(typeof(List).Namespace + "List")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("[(item)]") + .PropertyName("ArrayItems") + .TypeName(typeof(string[]).Namespace + "System.String[]")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("(click)") + .PropertyName("Event1") + .TypeName(typeof(Action).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("(^click)") + .PropertyName("Event2") + .TypeName(typeof(Action).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("*something") + .PropertyName("StringProperty1") + .TypeName(typeof(string).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("#local") + .PropertyName("StringProperty2") + .TypeName(typeof(string).FullName)) + .Build() + }; - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes1() + { + EvaluateData(SymbolBoundAttributes_Descriptors, "
    "); } - public static TheoryData WithoutEndTagElementData + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes2() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, expectedOutput - return new TheoryData - { - { - "", - new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.StartTagOnly)) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.StartTagOnly, - attributes: new List - { - new TagHelperAttributeNode("type", factory.Markup("text"), AttributeStructure.SingleQuotes) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - new MarkupTagHelperBlock("input", TagMode.StartTagOnly)) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.StartTagOnly, - attributes: new List - { - new TagHelperAttributeNode("type", factory.Markup("text"), AttributeStructure.SingleQuotes) - }), - new MarkupTagHelperBlock("input", TagMode.StartTagOnly)) - }, - { - "
    ", - new MarkupBlock( - blockFactory.MarkupTagBlock("
    "), - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - blockFactory.MarkupTagBlock("
    ")) - }, - }; - } + EvaluateData(SymbolBoundAttributes_Descriptors, "
      "); } - [Theory] - [MemberData(nameof(WithoutEndTagElementData))] - public void Rewrite_CanHandleWithoutEndTagTagStructure(string documentContent, object expectedOutput) + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes3() { - // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("input") - .RequireTagStructure(TagStructure.WithoutEndTag)) - .Build() - }; - - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + EvaluateData(SymbolBoundAttributes_Descriptors, ""); } - public static TheoryData TagStructureCompatibilityData + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes4() { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - // documentContent, structure1, structure2, expectedOutput - return new TheoryData - { - { - "", - TagStructure.Unspecified, - TagStructure.Unspecified, - new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.StartTagAndEndTag)) - }, - { - "", - TagStructure.Unspecified, - TagStructure.Unspecified, - new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.SelfClosing)) - }, - { - "", - TagStructure.Unspecified, - TagStructure.WithoutEndTag, - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.StartTagOnly, - attributes: new List - { - new TagHelperAttributeNode("type", factory.Markup("text"), AttributeStructure.SingleQuotes) - })) - }, - { - "", - TagStructure.WithoutEndTag, - TagStructure.WithoutEndTag, - new MarkupBlock( - new MarkupTagHelperBlock("input", TagMode.StartTagOnly), - new MarkupTagHelperBlock("input", TagMode.StartTagOnly)) - }, - { - "", - TagStructure.Unspecified, - TagStructure.NormalOrSelfClosing, - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.StartTagAndEndTag, - attributes: new List - { - new TagHelperAttributeNode("type", factory.Markup("text"), AttributeStructure.SingleQuotes) - })) - }, - { - "", - TagStructure.Unspecified, - TagStructure.WithoutEndTag, - new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.SelfClosing)) - }, - - { - "", - TagStructure.NormalOrSelfClosing, - TagStructure.Unspecified, - new MarkupBlock(new MarkupTagHelperBlock("input", TagMode.SelfClosing)) - }, - }; - } + EvaluateData(SymbolBoundAttributes_Descriptors, ""); } - [Theory] - [MemberData(nameof(TagStructureCompatibilityData))] - public void Rewrite_AllowsCompatibleTagStructures( - string documentContent, - TagStructure structure1, - TagStructure structure2, - object expectedOutput) + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes5() + { + EvaluateData(SymbolBoundAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes6() + { + EvaluateData(SymbolBoundAttributes_Descriptors, "
      "); + } + + [Fact] + public void Rewrite_CanHandleSymbolBoundAttributes7() + { + EvaluateData(SymbolBoundAttributes_Descriptors, "
      "); + } + + public static TagHelperDescriptor[] WithoutEndTag_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("input") + .RequireTagStructure(TagStructure.WithoutEndTag)) + .Build() + }; + + [Fact] + public void Rewrite_CanHandleWithoutEndTagTagStructure1() + { + EvaluateData(WithoutEndTag_Descriptors, ""); + } + + [Fact] + public void Rewrite_CanHandleWithoutEndTagTagStructure2() + { + EvaluateData(WithoutEndTag_Descriptors, ""); + } + + [Fact] + public void Rewrite_CanHandleWithoutEndTagTagStructure3() + { + EvaluateData(WithoutEndTag_Descriptors, ""); + } + + [Fact] + public void Rewrite_CanHandleWithoutEndTagTagStructure4() + { + EvaluateData(WithoutEndTag_Descriptors, ""); + } + + [Fact] + public void Rewrite_CanHandleWithoutEndTagTagStructure5() + { + EvaluateData(WithoutEndTag_Descriptors, "
      "); + } + + public static TagHelperDescriptor[] GetTagStructureCompatibilityDescriptors(TagStructure structure1, TagStructure structure2) { - // Arrange - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("InputTagHelper1", "SomeAssembly") @@ -333,3576 +154,1933 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy .Build() }; - // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, expectedErrors: new RazorDiagnostic[0]); + return descriptors; } - public static TheoryData MalformedTagHelperAttributeBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - Func createInvalidDoBlock = extraCode => - { - return new MarkupBlock( - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged( - string.Empty, - new SourceLocation(10, 0, 10)), - new SourceLocation(10, 0, 10)), - new StatementBlock( - factory.CodeTransition(), - factory.Code("do {" + extraCode).AsStatement()))); - }; - - return new TheoryData - { - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode( - "bar", - new MarkupBlock(factory.Markup("false"), factory.Markup(" ")), - AttributeStructure.SingleQuotes) - })), - 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( - "bar", - new MarkupBlock( - factory.Markup("false"), - factory.Markup(" - { - new TagHelperAttributeNode( - "bar", - factory.Markup("false"), - AttributeStructure.NoQuotes) - })), - 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"), - RazorDiagnosticFactory.CreateParsing_TagHelperAttributeListMustBeWellFormed( - new SourceSpan(12, 0, 12, 1)) - } - }, - { - "

      - { - new TagHelperAttributeNode( - "bar", - factory.Markup("false'")) - })), - 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", - new List - { - new TagHelperAttributeNode( - "bar", - new MarkupBlock( - factory.Markup("false'"), - factory.Markup(" >

      "))) - })), - 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", - new List - { - new TagHelperAttributeNode("foo", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bar", null, AttributeStructure.Minimized) - }, - new MarkupTagHelperBlock("strong"))), - 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"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(11, 0, 11), contentLength: 6), "strong"), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.NoQuotes) - })), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.NoQuotes) - })), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode( - "class", - new MarkupBlock(factory.Markup("btn"), factory.Markup(" bar="))), - new TagHelperAttributeNode("foo", null, AttributeStructure.Minimized) - }, - new MarkupTagHelperBlock("strong"))), - 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"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(24, 0, 24), contentLength: 6), "strong") - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode( - "class", - new MarkupBlock(factory.Markup("btn"), factory.Markup(" bar="))), - new TagHelperAttributeNode("foo", null, AttributeStructure.Minimized), - })), - new RazorDiagnostic[0] - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p")), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelpersCannotHaveCSharpInTagDeclaration(new SourceSpan(3, 0, 3, 13), "p") - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p")), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelpersCannotHaveCSharpInTagDeclaration(new SourceSpan(3, 0, 3, 13), "p") - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode( - "class", - new MarkupBlock( - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged( - string.Empty, - new SourceLocation(9, 0, 9)), - new SourceLocation(9, 0, 9)), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)))), - AttributeStructure.DoubleQuotes) - })), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }, - { - "

      - { - new TagHelperAttributeNode( - "class", - createInvalidDoBlock(string.Empty)) - })), - 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"), - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(11, 0, 11), contentLength: 1), "do", "}", "{"), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", createInvalidDoBlock("\">

      ")) - })), - 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"), - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(11, 0, 11), contentLength: 1), "do", "}", "{"), - RazorDiagnosticFactory.CreateParsing_UnterminatedStringLiteral( - new SourceSpan(filePath: null, absoluteIndex: 15, lineIndex: 0, characterIndex: 15, length: 1)) - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p")), - 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"), - RazorDiagnosticFactory.CreateParsing_TagHelpersCannotHaveCSharpInTagDeclaration(new SourceSpan(3, 0, 3, 30), "p"), - RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( - new SourceSpan(new SourceLocation(4, 0, 4), contentLength: 1), "do", "}", "{"), - RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(filePath: null, absoluteIndex: 31, lineIndex: 0, characterIndex: 31, length: 1), "p") - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("some"), AttributeStructure.NoQuotes) - })), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperAttributeListMustBeWellFormed(new SourceSpan(13, 0, 13, 13)) - } - }, - }; - } - } - - [Theory] - [MemberData(nameof(MalformedTagHelperAttributeBlockData))] - public void Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes( - string documentContent, - object expectedOutput, - object expectedErrors) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "strong", "p"); - } - - public static TheoryData MalformedTagHelperBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("strong", - new MarkupTagHelperBlock("p"))), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(9, 0, 9), contentLength: 1), "p") - } - }, - { - " <

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - blockFactory.MarkupTagBlock("<"), - blockFactory.MarkupTagBlock(""), - factory.Markup(" "), - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("p")), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(4, 0, 4), contentLength: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(14, 0, 14), contentLength: 1), "p") - } - }, - { - "<<> <<>>", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("strong", - factory.Markup("> "), - blockFactory.MarkupTagBlock("<"), - blockFactory.MarkupTagBlock("<>"), - factory.Markup(">"))), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(3, 0, 3), contentLength: 6), "strong") - } - }, - { - "

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock(""))), - new [] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(14, 0, 14), contentLength: 1), "p") - } - } - }; - } - } - - [Theory] - [MemberData(nameof(MalformedTagHelperBlockData))] - public void Rewrite_CreatesErrorForMalformedTagHelper( - string documentContent, - object expectedOutput, - object expectedErrors) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "strong", "p"); - } - - public static TheoryData CodeTagHelperAttributesData - { - get - { - var factory = new SpanFactory(); - var dateTimeNow = new MarkupBlock( - factory.Markup(" "), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace))); - - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("age", factory.CodeMarkup("12").With(new ExpressionChunkGenerator())) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "birthday", - factory.CodeMarkup("DateTime.Now").With(new ExpressionChunkGenerator())) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "age", - new MarkupBlock( - new MarkupBlock( - new ExpressionBlock( - factory.CodeTransition(), - factory - .CSharpCodeMarkup("DateTime.Now.Year") - .With(new ExpressionChunkGenerator()))))) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "age", - new MarkupBlock( - new MarkupBlock( - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory - .CSharpCodeMarkup("DateTime.Now.Year") - .With(new ExpressionChunkGenerator()))))) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("name", factory.Markup("John")) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "name", - new MarkupBlock(factory.Markup("Time:"), dateTimeNow)) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "age", - new MarkupBlock( - factory.CodeMarkup("1").With(new ExpressionChunkGenerator()), - factory.CodeMarkup(" +").With(new ExpressionChunkGenerator()), - new MarkupBlock( - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup("value") - .With(new ExpressionChunkGenerator()))), - factory.CodeMarkup(" +").With(new ExpressionChunkGenerator()), - factory.CodeMarkup(" 2").With(new ExpressionChunkGenerator()))), - new TagHelperAttributeNode( - "birthday", - new MarkupBlock( - factory.CodeMarkup("(bool)").With(new ExpressionChunkGenerator()), - new MarkupBlock( - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory - .CSharpCodeMarkup("Bag[\"val\"]") - .With(new ExpressionChunkGenerator()))), - factory.CodeMarkup(" ?").With(new ExpressionChunkGenerator()), - new MarkupBlock( - factory.CodeMarkup(" @").With(new ExpressionChunkGenerator()) - .As(SpanKindInternal.Code), - factory.CodeMarkup("@").With(SpanChunkGenerator.Null) - .As(SpanKindInternal.Code)), - factory.CodeMarkup("DateTime").With(new ExpressionChunkGenerator()), - factory.CodeMarkup(" :").With(new ExpressionChunkGenerator()), - new MarkupBlock( - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory - .CSharpCodeMarkup("DateTime.Now") - .With(new ExpressionChunkGenerator())))), - AttributeStructure.SingleQuotes) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("age", factory.CodeMarkup("12").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "birthday", - factory.CodeMarkup("DateTime.Now").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "name", - new MarkupBlock(factory.Markup("Time:"), dateTimeNow)) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("age", factory.CodeMarkup("12").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "birthday", - factory.CodeMarkup("DateTime.Now").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "name", - new MarkupBlock( - factory.Markup("Time:"), - new MarkupBlock( - factory.Markup(" @").Accepts(AcceptedCharactersInternal.None), - factory.Markup("@") - .With(SpanChunkGenerator.Null) - .Accepts(AcceptedCharactersInternal.None)), - dateTimeNow)) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("age", factory.CodeMarkup("12").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "birthday", - factory.CodeMarkup("DateTime.Now").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "name", - new MarkupBlock( - new MarkupBlock( - factory.Markup("@").Accepts(AcceptedCharactersInternal.None), - factory.Markup("@") - .With(SpanChunkGenerator.Null) - .Accepts(AcceptedCharactersInternal.None)), - factory.Markup("BoundStringAttribute"))) - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("person", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "age", - new MarkupBlock( - new MarkupBlock( - factory.CodeMarkup("@").With(new ExpressionChunkGenerator()), - factory.CodeMarkup("@").With(SpanChunkGenerator.Null)), - new MarkupBlock( - factory.EmptyHtml() - .AsCodeMarkup().With(new ExpressionChunkGenerator()) - .As(SpanKindInternal.Code), - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup("(").With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup("11+1") - .With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup(")").With(new ExpressionChunkGenerator()))))), - new TagHelperAttributeNode( - "birthday", - factory.CodeMarkup("DateTime.Now").With(new ExpressionChunkGenerator())), - new TagHelperAttributeNode( - "name", - new MarkupBlock(factory.Markup("Time:"), dateTimeNow)) - })) - }, - }; - } - } - - [Theory] - [MemberData(nameof(CodeTagHelperAttributesData))] - public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes( - string documentContent, - object expectedOutput) + [Fact] + public void Rewrite_AllowsCompatibleTagStructures1() { // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("PersonTagHelper", "personAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("person")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("age") - .PropertyName("Age") - .TypeName(typeof(int).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("birthday") - .PropertyName("BirthDay") - .TypeName(typeof(DateTime).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("name") - .PropertyName("Name") - .TypeName(typeof(string).FullName)) - .Build() - }; + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.Unspecified, TagStructure.Unspecified); // Act & Assert - EvaluateData( - descriptors, - documentContent, - (MarkupBlock)expectedOutput, - expectedErrors: Enumerable.Empty()); + EvaluateData(descriptors, ""); } - public static IEnumerable IncompleteHelperBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - yield return new object[] - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode( - "dynamic", - new MarkupBlock( - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged( - string.Empty, - new SourceLocation(21, 0, 21)), - new SourceLocation(21, 0, 21)), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)))), - AttributeStructure.DoubleQuotes), - new TagHelperAttributeNode("style", factory.Markup("color:red;"), AttributeStructure.NoQuotes) - }, - new MarkupTagHelperBlock("strong")), - blockFactory.MarkupTagBlock("
      ")), - new RazorDiagnostic[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 53, lineIndex: 0, characterIndex: 53, length: 6), "strong"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 66, lineIndex: 0, characterIndex: 66, length: 6), "strong") - } - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock("
      "), - new MarkupTagHelperBlock("p", - factory.Markup("Hello "), - new MarkupTagHelperBlock("strong", - factory.Markup("World")), - blockFactory.MarkupTagBlock("
      "))), - new RazorDiagnostic[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 6, lineIndex: 0, characterIndex: 6, length: 1), "p") - } - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock("
      "), - new MarkupTagHelperBlock("p", - factory.Markup("Hello "), - new MarkupTagHelperBlock("strong", - factory.Markup("World"), - blockFactory.MarkupTagBlock("
      ")))), - new RazorDiagnostic[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 6, lineIndex: 0, characterIndex: 6, length: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(absoluteIndex: 15, lineIndex: 0, characterIndex: 15, length: 6), "strong") - } - }; - yield return new object[] - { - "

      Hello

      World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")) - }, - factory.Markup("Hello "), - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }, - factory.Markup("World")))), - new RazorDiagnostic[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p") - } - }; - } - } - - [Theory] - [MemberData(nameof(IncompleteHelperBlockData))] - public void TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper( - string documentContent, - object expectedOutput, - object expectedErrors) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors, "strong", "p"); - } - - - public static IEnumerable OddlySpacedBlockData - { - get - { - var factory = new SpanFactory(); - - yield return new object[] - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup(" foo")), - new TagHelperAttributeNode( - "style", - new MarkupBlock( - factory.Markup(" color"), - factory.Markup(" :"), - factory.Markup(" red"), - factory.Markup(" ;"), - factory.Markup(" "))) - })) - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup(" foo")), - new TagHelperAttributeNode( - "style", - new MarkupBlock( - factory.Markup(" color"), - factory.Markup(" :"), - factory.Markup(" red"), - factory.Markup(" ;"), - factory.Markup(" "))) - }, - factory.Markup("Hello World"))) - }; - yield return new object[] - { - "

      Hello

      World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode( - "class", - new MarkupBlock(factory.Markup(" foo"), factory.Markup(" "))) - }, - factory.Markup("Hello")), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode( - "style", - new MarkupBlock(factory.Markup(" color:red;"), factory.Markup(" "))) - }, - factory.Markup("World"))) - }; - } - } - - [Theory] - [MemberData(nameof(OddlySpacedBlockData))] - public void TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static IEnumerable ComplexAttributeTagHelperBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var dateTimeNowString = "@DateTime.Now"; - 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))))); - var doWhileString = "@do { var foo = bar; Foo foo++; } while (foo);"; - var doWhile = new Func(index => - new MarkupBlock( - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged( - string.Empty, - new SourceLocation(index, 0, index)), - new SourceLocation(index, 0, index)), - new StatementBlock( - factory.CodeTransition(), - factory.Code("do { var foo = bar; ").AsStatement(), - new MarkupBlock( - new MarkupTagBlock( - factory.MarkupTransition("")), - factory.Markup("Foo").Accepts(AcceptedCharactersInternal.None), - new MarkupTagBlock( - factory.MarkupTransition(""))), - factory - .Code(" foo++; } while (foo);") - .AsStatement() - .Accepts(AcceptedCharactersInternal.None))))); - - var currentFormattedString = "

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", dateTimeNow(10)), - new TagHelperAttributeNode("style", dateTimeNow(32), AttributeStructure.SingleQuotes) - })) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", doWhile(10)), - new TagHelperAttributeNode("style", doWhile(83), AttributeStructure.SingleQuotes) - })) - }; - - currentFormattedString = "

      Hello World

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", dateTimeNow(10)), - new TagHelperAttributeNode("style", dateTimeNow(32), AttributeStructure.SingleQuotes) - }, - factory.Markup("Hello World"))) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", doWhile(10)), - new TagHelperAttributeNode("style", doWhile(83), AttributeStructure.SingleQuotes) - }, - factory.Markup("Hello World"))) - }; - - currentFormattedString = "

      Hello

      World

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", dateTimeNow(10)) - }, - factory.Markup("Hello")), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("style", dateTimeNow(45), AttributeStructure.SingleQuotes) - }, - factory.Markup("World"))) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", doWhile(10)) - }, - factory.Markup("Hello")), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("style", doWhile(96), AttributeStructure.SingleQuotes) - }, - factory.Markup("World"))) - }; - - currentFormattedString = - "

      Hello World inside of strong tag

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", dateTimeNow(10)), - new TagHelperAttributeNode("style", dateTimeNow(32), AttributeStructure.SingleQuotes) - }, - factory.Markup("Hello World "), - new MarkupTagBlock( - factory.Markup("(" class=\"", 66, 0, 66), - suffix: new LocationTagged("\"", 87, 0, 87)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - new MarkupBlock( - new DynamicAttributeBlockChunkGenerator( - new LocationTagged(string.Empty, 74, 0, 74), 74, 0, 74), - new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup("inside of strong tag"), - blockFactory.MarkupTagBlock("
      "))) - }; - } - } - - [Theory] - [MemberData(nameof(ComplexAttributeTagHelperBlockData))] - public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static IEnumerable ComplexTagHelperBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var dateTimeNowString = "@DateTime.Now"; - var dateTimeNow = new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)); - var doWhileString = "@do { var foo = bar;

      Foo

      foo++; } while (foo);"; - var doWhile = new StatementBlock( - factory.CodeTransition(), - factory.Code("do { var foo = bar;").AsStatement(), - new MarkupBlock( - factory.Markup(" "), - new MarkupTagHelperBlock("p", - factory.Markup("Foo")), - factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)), - factory.Code("foo++; } while (foo);") - .AsStatement() - .Accepts(AcceptedCharactersInternal.None)); - - var currentFormattedString = "

      {0}

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", dateTimeNow)) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", doWhile)) - }; - - currentFormattedString = "

      Hello World {0}

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello World "), - dateTimeNow)) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello World "), - doWhile)) - }; - - currentFormattedString = "

      {0}

      {0}

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", dateTimeNow), - factory.Markup(" "), - new MarkupTagHelperBlock("p", dateTimeNow)) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", doWhile), - factory.Markup(" "), - new MarkupTagHelperBlock("p", doWhile)) - }; - - currentFormattedString = "

      Hello {0}inside of {0} strong tag

      "; - yield return new object[] - { - string.Format(currentFormattedString, dateTimeNowString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello "), - dateTimeNow, - blockFactory.MarkupTagBlock(""), - factory.Markup("inside of "), - dateTimeNow, - factory.Markup(" strong tag"), - blockFactory.MarkupTagBlock(""))) - }; - yield return new object[] - { - string.Format(currentFormattedString, doWhileString), - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello "), - doWhile, - blockFactory.MarkupTagBlock(""), - factory.Markup("inside of "), - doWhile, - factory.Markup(" strong tag"), - blockFactory.MarkupTagBlock(""))) - }; - } - } - - [Theory] - [MemberData(nameof(ComplexTagHelperBlockData))] - public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - - public static TheoryData InvalidHtmlBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - var dateTimeNow = new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)); - - return new TheoryData - { - { - "<<

      >>

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("p", - factory.Markup(">>"))) - }, - { - "<

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock("<"), - new MarkupTagHelperBlock("p", TagMode.SelfClosing)) - }, - { - "< p />", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - new MarkupBlock( - factory.Markup(" p")), - factory.Markup(" />"))) - }, - { - "", - new MarkupBlock( - blockFactory.MarkupTagBlock("", - new MarkupBlock( - new MarkupTagBlock( - factory.Markup("<"), - new MarkupBlock( - new AttributeBlockChunkGenerator( - name: "class", - prefix: new LocationTagged(" class=\"", 1, 0, 1), - suffix: new LocationTagged("\"", 12, 0, 12)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("foo").With(new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(string.Empty, 9, 0, 9), - value: new LocationTagged("foo", 9, 0, 9))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(" ")), - new MarkupTagHelperBlock("p", TagMode.SelfClosing)) - }, - { - "/>

      >", - new MarkupBlock( - blockFactory.MarkupTagBlock("")), - factory.Markup(">")) - }, - { - "/>

      >", - new MarkupBlock( - blockFactory.MarkupTagBlock(""), - blockFactory.MarkupTagBlock("")), - factory.Markup(">")) - }, - { - "@DateTime.Now/>

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

      @DateTime.Now / >

      ", - new MarkupBlock( - blockFactory.MarkupTagBlock(""), - new MarkupTagHelperBlock("p", - dateTimeNow, - factory.Markup(" / >"), - blockFactory.MarkupTagBlock("")), - blockFactory.MarkupTagBlock("")) - }, - { - "

      < @DateTime.Now >

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new MarkupTagBlock( - factory.Markup("< "), - dateTimeNow, - factory.Markup(" >")), - blockFactory.MarkupTagBlock(""))) - } - }; - } - } - - [Theory] - [MemberData(nameof(InvalidHtmlBlockData))] - public void TagHelperParseTreeRewriter_AllowsInvalidHtml(string documentContent, object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static TheoryData EmptyAttributeTagHelperData - { - get - { - var factory = new SpanFactory(); - - // documentContent, expectedOutput - return new TheoryData - { - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", new MarkupBlock()) - })) - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", new MarkupBlock(), AttributeStructure.SingleQuotes) - })) - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - // We expected a markup node here because attribute values without quotes can only ever - // be a single item, hence don't need to be enclosed by a block. - new TagHelperAttributeNode( - "class", - factory.Markup("").With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - })) - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class1", new MarkupBlock(), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode( - "class2", - factory.Markup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - new TagHelperAttributeNode("class3", new MarkupBlock()), - })) - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class1", new MarkupBlock(), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("class2", new MarkupBlock()), - new TagHelperAttributeNode( - "class3", - factory.Markup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - })) - }, - }; - } - } - - [Theory] - [MemberData(nameof(EmptyAttributeTagHelperData))] - public void Rewrite_UnderstandsEmptyAttributeTagHelpers(string documentContent, object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, new RazorDiagnostic[0], "p"); - } - - public static TheoryData EmptyTagHelperBoundAttributeData - { - get - { - var factory = new SpanFactory(); - var boolTypeName = typeof(bool).FullName; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("bound", new MarkupBlock(), AttributeStructure.SingleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "bound", - "myth", - boolTypeName) - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(" true").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes) - })), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("bound", new MarkupBlock(), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound", new MarkupBlock()) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "bound", - "myth", - boolTypeName), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(16, 0, 16, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes), - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(" ")) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "bound", - "myth", - boolTypeName), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(17, 0, 17, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup("true").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes), - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(19, 0, 19, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - new TagHelperAttributeNode("name", new MarkupBlock(), AttributeStructure.SingleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - new TagHelperAttributeNode("name", factory.Markup(" "), AttributeStructure.SingleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup("true").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("name", factory.Markup("john"), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode( - "bound", - factory.CodeMarkup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - new TagHelperAttributeNode( - "name", - factory.Markup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(31, 0, 31, 5), - "bound", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("BouND", new MarkupBlock(), AttributeStructure.SingleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "BouND", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("BOUND", new MarkupBlock(), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bOUnd", new MarkupBlock()) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "BOUND", - "myth", - boolTypeName), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(18, 0, 18, 5), - "bOUnd", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - new List - { - new TagHelperAttributeNode( - "BOUND", - factory.CodeMarkup(string.Empty).With(SpanChunkGenerator.Null), - AttributeStructure.DoubleQuotes), - new TagHelperAttributeNode("nAMe", factory.Markup("john"), AttributeStructure.SingleQuotes) - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 5), - "BOUND", - "myth", - boolTypeName), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - { - new TagHelperAttributeNode( - "bound", - new MarkupBlock( - new MarkupBlock( - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup("true") - .With(new ExpressionChunkGenerator()))), - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator())), - AttributeStructure.SingleQuotes) - } - })), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "myth", - TagMode.SelfClosing, - attributes: new List - { - { - new TagHelperAttributeNode( - "bound", - new MarkupBlock( - new MarkupBlock( - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator()), - new ExpressionBlock( - factory.CSharpCodeMarkup("@").With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup("(").With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup("true") - .With(new ExpressionChunkGenerator()), - factory.CSharpCodeMarkup(")").With(new ExpressionChunkGenerator()))), - factory.CodeMarkup(" ").With(new ExpressionChunkGenerator())), - AttributeStructure.SingleQuotes) - } - })), - new RazorDiagnostic[0] - }, - }; - } - } - - [Theory] - [MemberData(nameof(EmptyTagHelperBoundAttributeData))] - public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_AllowsCompatibleTagStructures2() { // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("mythTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("myth")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("bound") - .PropertyName("Bound") - .TypeName(typeof(bool).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("name") - .PropertyName("Name") - .TypeName(typeof(string).FullName)) - .Build() - }; + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.Unspecified, TagStructure.Unspecified); // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors); + EvaluateData(descriptors, ""); } - public static IEnumerable ScriptBlockData - { - get - { - var factory = new SpanFactory(); - - yield return new object[] - { - "", - new MarkupBlock( - new MarkupTagHelperBlock("script", - factory.Markup("", - new MarkupBlock( - new MarkupTagHelperBlock("script", - factory.Markup("Hello World

      "))) - }; - yield return new object[] - { - "

      World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("script", - factory.Markup("Hel

      lo

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

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello "), - new MarkupTagHelperBlock("script", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")), - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }), - factory.Markup(" World"))) - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello "), - new MarkupTagHelperBlock("script", - new List - { - new TagHelperAttributeNode( - "class", - new MarkupBlock( - new MarkupBlock( - factory.Markup("@").Accepts(AcceptedCharactersInternal.None), - factory.Markup("@").With(SpanChunkGenerator.Null).Accepts(AcceptedCharactersInternal.None)), - factory.Markup("foo@bar.com"))), - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }), - factory.Markup(" World"))) - }; - } - } - - [Theory] - [MemberData(nameof(ScriptBlockData))] - public void TagHelperParseTreeRewriter_RewritesScriptTagHelpers( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p", "div", "script"); - } - - public static IEnumerable SelfClosingBlockData - { - get - { - var factory = new SpanFactory(); - - yield return new object[] - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")), - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - })) - }; - yield return new object[] - { - "

      Hello

      World

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - children: new SyntaxTreeNode[] - { - factory.Markup("Hello "), - new MarkupTagHelperBlock( - "p", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")), - new TagHelperAttributeNode( - "style", - factory.Markup("color:red;")) - }), - factory.Markup(" World") - })) - }; - yield return new object[] - { - "Hello

      World", - new MarkupBlock( - factory.Markup("Hello"), - new MarkupTagHelperBlock("p", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")) - }), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }), - factory.Markup("World")) - }; - } - } - - [Theory] - [MemberData(nameof(SelfClosingBlockData))] - public void TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static IEnumerable QuotelessAttributeBlockData - { - 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))))); - - yield return new object[] - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode("dynamic", dateTimeNow(21)), - new TagHelperAttributeNode("style", factory.Markup("color:red;"), AttributeStructure.NoQuotes) - })) - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode("dynamic", dateTimeNow(21)), - new TagHelperAttributeNode("style", factory.Markup("color:red;"), AttributeStructure.NoQuotes) - }, - factory.Markup("Hello World"))) - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode("dynamic", dateTimeNow(21)), - new TagHelperAttributeNode( - "style", - new MarkupBlock( - factory.Markup("color"), - new MarkupBlock( - factory.Markup("@").Accepts(AcceptedCharactersInternal.None), - factory.Markup("@").With(SpanChunkGenerator.Null).Accepts(AcceptedCharactersInternal.None)), - factory.Markup(":red;")), - AttributeStructure.DoubleQuotes) - }, - factory.Markup("Hello World"))) - }; - yield return new object[] - { - "

      Hello

      World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode("dynamic", dateTimeNow(21)) - }, - factory.Markup("Hello")), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("style", factory.Markup("color:red;"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode("dynamic", dateTimeNow(73)) - }, - factory.Markup("World"))) - }; - yield return new object[] - { - "

      Hello World inside of strong tag

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo"), AttributeStructure.NoQuotes), - new TagHelperAttributeNode("dynamic", dateTimeNow(21)), - new TagHelperAttributeNode("style", factory.Markup("color:red;"), AttributeStructure.NoQuotes) - }, - factory.Markup("Hello World "), - new MarkupTagBlock( - factory.Markup("(" class=\"", 71, 0, 71), - suffix: new LocationTagged("\"", 82, 0, 82)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("foo").With(new LiteralAttributeChunkGenerator(prefix: new LocationTagged(string.Empty, 79, 0, 79), - value: new LocationTagged("foo", 79, 0, 79))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup("inside of strong tag"), - blockFactory.MarkupTagBlock("
      "))) - }; - } - } - - [Theory] - [MemberData(nameof(QuotelessAttributeBlockData))] - public void TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static IEnumerable PlainAttributeBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - yield return new object[] - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")), - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - })) - }; - yield return new object[] - { - "

      Hello World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")), - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }, - factory.Markup("Hello World"))) - }; - yield return new object[] - { - "

      Hello

      World

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")) - }, - factory.Markup("Hello")), - factory.Markup(" "), - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }, - factory.Markup("World"))) - }; - yield return new object[] - { - "

      Hello World inside of strong tag

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - new List - { - new TagHelperAttributeNode("class", factory.Markup("foo")), - new TagHelperAttributeNode("style", factory.Markup("color:red;")) - }, - factory.Markup("Hello World "), - new MarkupTagBlock( - factory.Markup("(" class=\"", 53, 0, 53), - suffix: new LocationTagged("\"", 64, 0, 64)), - factory.Markup(" class=\"").With(SpanChunkGenerator.Null), - factory.Markup("foo").With(new LiteralAttributeChunkGenerator(prefix: new LocationTagged(string.Empty, 61, 0, 61), - value: new LocationTagged("foo", 61, 0, 61))), - factory.Markup("\"").With(SpanChunkGenerator.Null)), - factory.Markup(">")), - factory.Markup("inside of strong tag"), - blockFactory.MarkupTagBlock("
      "))) - }; - } - } - - [Theory] - [MemberData(nameof(PlainAttributeBlockData))] - public void TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static IEnumerable PlainBlockData - { - get - { - var factory = new SpanFactory(); - var blockFactory = new BlockFactory(factory); - - yield return new object[] - { - "

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

      Hello World

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

      Hello

      World

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

      Hello World inside of strong tag

      ", - new MarkupBlock( - new MarkupTagHelperBlock("p", - factory.Markup("Hello World "), - blockFactory.MarkupTagBlock(""), - factory.Markup("inside of strong tag"), - blockFactory.MarkupTagBlock(""))) - }; - } - } - - [Theory] - [MemberData(nameof(PlainBlockData))] - public void TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks( - string documentContent, - object expectedOutput) - { - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, "p"); - } - - public static TheoryData DataDashAttributeData_Document - { - get - { - var factory = new SpanFactory(); - var dateTimeNowString = "@DateTime.Now"; - var dateTimeNow = new ExpressionBlock( - factory.CodeTransition(), - factory.Code("DateTime.Now") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace)); - - // documentContent, expectedOutput - return new TheoryData - { - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode( - "data-required", - new MarkupBlock(dateTimeNow), - AttributeStructure.SingleQuotes), - })) - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("data-required", factory.Markup("value"), AttributeStructure.SingleQuotes), - })) - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode( - "data-required", - new MarkupBlock(factory.Markup("prefix "), dateTimeNow), - AttributeStructure.SingleQuotes), - })) - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode( - "data-required", - new MarkupBlock(dateTimeNow, factory.Markup(" suffix")), - AttributeStructure.SingleQuotes), - })) - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode( - "data-required", - new MarkupBlock( - factory.Markup("prefix "), - dateTimeNow, - factory.Markup(" suffix")), - AttributeStructure.SingleQuotes), - })) - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("pre-attribute", value: null, attributeStructure: AttributeStructure.Minimized), - new TagHelperAttributeNode( - "data-required", - new MarkupBlock( - factory.Markup("prefix "), - dateTimeNow, - factory.Markup(" suffix")), - AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("post-attribute", value: null, attributeStructure: AttributeStructure.Minimized), - })) - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode( - "data-required", - new MarkupBlock( - dateTimeNow, - factory.Markup(" middle "), - dateTimeNow), - AttributeStructure.SingleQuotes), - })) - }, - }; - } - } - - public static TheoryData DataDashAttributeData_CSharpBlock - { - get - { - var factory = new SpanFactory(); - var documentData = DataDashAttributeData_Document; - 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()); - }; - - foreach (var data in documentData) - { - data[0] = $"@{{{data[0]}}}"; - data[1] = buildStatementBlock(() => data[1] as MarkupBlock); - } - - return documentData; - } - } - - [Theory] - [MemberData(nameof(DataDashAttributeData_Document))] - [MemberData(nameof(DataDashAttributeData_CSharpBlock))] - public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes( - string documentContent, - object expectedOutput) - { - // Act & Assert - RunParseTreeRewriterTest(documentContent, (MarkupBlock)expectedOutput, Enumerable.Empty(), "input"); - } - - public static TheoryData MinimizedAttributeData_Document - { - get - { - var factory = new SpanFactory(); - var noErrors = new RazorDiagnostic[0]; - var stringType = typeof(string).FullName; - var intType = typeof(int).FullName; - var expressionString = "@DateTime.Now + 1"; - var expression = 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))), - factory.Markup(" +") - .With(new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", index + 13, 0, index + 13), - value: new LocationTagged("+", index + 14, 0, index + 14))), - factory.Markup(" 1") - .With(new LiteralAttributeChunkGenerator( - prefix: new LocationTagged(" ", index + 15, 0, index + 15), - value: new LocationTagged("1", index + 16, 0, index + 16))))); - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - })), - noErrors - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 12), - "bound-string", - "p", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 18), - "bound-required-int", - "input", - intType), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 9), - "bound-int", - "p", - intType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("int-dictionary", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 14), - "int-dictionary", - "input", - typeof(IDictionary).Namespace + ".IDictionary"), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("string-dictionary", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 17), - "string-dictionary", - "input", - typeof(IDictionary).Namespace + ".IDictionary"), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("int-prefix-", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 11), - "int-prefix-", - "input", - intType), - RazorDiagnosticFactory.CreateParsing_TagHelperIndexerAttributeNameMustIncludeKey( - new SourceSpan(7, 0, 7, 11), - "int-prefix-", - "input"), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("string-prefix-", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 14), - "string-prefix-", - "input", - stringType), - RazorDiagnosticFactory.CreateParsing_TagHelperIndexerAttributeNameMustIncludeKey( - new SourceSpan(7, 0, 7, 14), - "string-prefix-", - "input"), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("int-prefix-value", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 16), - "int-prefix-value", - "input", - intType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("string-prefix-value", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 19), - "string-prefix-value", - "input", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("int-prefix-value", new MarkupBlock(), AttributeStructure.SingleQuotes), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 16), - "int-prefix-value", - "input", - intType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode("string-prefix-value", new MarkupBlock(), AttributeStructure.SingleQuotes), - })), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "int-prefix-value", - factory.CodeMarkup("3").With(new ExpressionChunkGenerator()), - AttributeStructure.SingleQuotes), - })), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List - { - new TagHelperAttributeNode( - "string-prefix-value", - new MarkupBlock( - factory.Markup("some"), - factory.Markup(" string")), - AttributeStructure.SingleQuotes), - })), - new RazorDiagnostic[0] - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(24, 0, 24, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 9), - "bound-int", - "p", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(13, 0, 13, 12), - "bound-string", - "p", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 18), - "bound-required-int", - "input", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(43, 0, 43, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 9), - "bound-int", - "p", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(13, 0, 13, 12), - "bound-string", - "p", - stringType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(26, 0, 26, 12), - "bound-string", - "p", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - })), - noErrors - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 12), - "bound-string", - "p", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - })), - noErrors - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(15, 0, 15, 12), - "bound-string", - "p", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(19, 0, 19, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 18), - "bound-required-int", - "input", - intType), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 9), - "bound-int", - "p", - intType), - } - }, - { - "", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(19, 0, 19, 18), - "bound-required-int", - "input", - intType), - } - }, - { - "

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("class", factory.Markup("btn"), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(15, 0, 15, 9), - "bound-int", - "p", - intType), - } - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("class", expression(14), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(33, 0, 33, 18), - "bound-required-int", - "input", - intType), - } - }, - { - $"

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("class", expression(10), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(29, 0, 29, 9), - "bound-int", - "p", - intType), - } - }, - { - $"", - new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", expression(36), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", expression(86), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(10, 0, 10, 18), - "bound-required-int", - "input", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(57, 0, 57, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - $"

      ", - new MarkupBlock( - new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", expression(23), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("class", expression(64), AttributeStructure.SingleQuotes), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(6, 0, 6, 9), - "bound-int", - "p", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(44, 0, 44, 12), - "bound-string", - "p", - stringType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(84, 0, 84, 12), - "bound-string", - "p", - stringType), - } - }, - }; - } - } - - public static TheoryData MinimizedAttributeData_CSharpBlock - { - get - { - var factory = new SpanFactory(); - var documentData = MinimizedAttributeData_Document; - 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()); - }; - Action updateDynamicChunkGenerators = (block) => - { - var tagHelperBlock = block.Children.First() as MarkupTagHelperBlock; - - for (var i = 0; i < tagHelperBlock.Attributes.Count; i++) - { - var attribute = tagHelperBlock.Attributes[i]; - var holderBlock = attribute.Value as Block; - - if (holderBlock == null) - { - continue; - } - - var valueBlock = holderBlock.Children.FirstOrDefault() as Block; - if (valueBlock != null) - { - var chunkGenerator = valueBlock.ChunkGenerator as DynamicAttributeBlockChunkGenerator; - - if (chunkGenerator != null) - { - var blockBuilder = new BlockBuilder(holderBlock); - var expressionBlockBuilder = new BlockBuilder(valueBlock); - var newChunkGenerator = new DynamicAttributeBlockChunkGenerator( - new LocationTagged( - chunkGenerator.Prefix.Value, - new SourceLocation( - chunkGenerator.Prefix.Location.AbsoluteIndex + 2, - chunkGenerator.Prefix.Location.LineIndex, - chunkGenerator.Prefix.Location.CharacterIndex + 2)), - new SourceLocation( - chunkGenerator.ValueStart.AbsoluteIndex + 2, - chunkGenerator.ValueStart.LineIndex, - chunkGenerator.ValueStart.CharacterIndex + 2)); - - expressionBlockBuilder.ChunkGenerator = newChunkGenerator; - blockBuilder.Children[0] = expressionBlockBuilder.Build(); - - for (var j = 1; j < blockBuilder.Children.Count; j++) - { - var span = blockBuilder.Children[j] as Span; - if (span != null) - { - var literalChunkGenerator = - span.ChunkGenerator as LiteralAttributeChunkGenerator; - - var spanBuilder = new SpanBuilder(span); - spanBuilder.ChunkGenerator = new LiteralAttributeChunkGenerator( - prefix: new LocationTagged( - literalChunkGenerator.Prefix.Value, - new SourceLocation( - literalChunkGenerator.Prefix.Location.AbsoluteIndex + 2, - literalChunkGenerator.Prefix.Location.LineIndex, - literalChunkGenerator.Prefix.Location.CharacterIndex + 2)), - value: new LocationTagged( - literalChunkGenerator.Value.Value, - new SourceLocation( - literalChunkGenerator.Value.Location.AbsoluteIndex + 2, - literalChunkGenerator.Value.Location.LineIndex, - literalChunkGenerator.Value.Location.CharacterIndex + 2))); - - blockBuilder.Children[j] = spanBuilder.Build(); - } - } - - tagHelperBlock.Attributes[i] = new TagHelperAttributeNode( - attribute.Name, - blockBuilder.Build(), - attribute.AttributeStructure); - } - } - } - }; - - foreach (var data in documentData) - { - data[0] = $"@{{{data[0]}}}"; - - updateDynamicChunkGenerators(data[1] as MarkupBlock); - - data[1] = buildStatementBlock(() => data[1] as MarkupBlock); - - var errors = data[2] as RazorDiagnostic[]; - - for (var i = 0; i < errors.Length; i++) - { - var error = errors[i] as DefaultRazorDiagnostic; - var currentErrorLocation = new SourceLocation(error.Span.AbsoluteIndex, error.Span.LineIndex, error.Span.CharacterIndex); - var newErrorLocation = SourceLocationTracker.Advance(currentErrorLocation, "@{"); - var copiedDiagnostic = new DefaultRazorDiagnostic(error.Descriptor, new SourceSpan(newErrorLocation, error.Span.Length), error.Args); - errors[i] = copiedDiagnostic; - } - } - - return documentData; - } - } - - public static TheoryData MinimizedAttributeData_PartialTags - { - get - { - var factory = new SpanFactory(); - var noErrors = new RazorDiagnostic[0]; - var stringType = typeof(string).FullName; - var intType = typeof(int).FullName; - - // documentContent, expectedOutput, expectedErrors - return new TheoryData - { - { - "() - { - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - } - }, - { - "() - { - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 18), - "bound-required-int", - "input", - intType), - } - }, - { - "() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - })), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 18), - "bound-required-int", - "input", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(43, 0, 43, 21), - "bound-required-string", - "input", - stringType), - } - }, - { - "

      () - { - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - 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"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 12), - "bound-string", - "p", - stringType), - } - }, - { - "

      () - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - })), - 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"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 9), - "bound-int", - "p", - intType), - } - }, - { - "

      () - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - })), - 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"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(3, 0, 3, 9), - "bound-int", - "p", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(13, 0, 13, 12), - "bound-string", - "p", - stringType), - } - }, - { - "() - { - new TagHelperAttributeNode("bound-required-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("unbound-required", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-required-string", null, AttributeStructure.Minimized), - }, - children: new MarkupTagHelperBlock( - "p", - TagMode.StartTagAndEndTag, - attributes: new List() - { - new TagHelperAttributeNode("bound-int", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("bound-string", null, AttributeStructure.Minimized), - }))), - new[] - { - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 5), "input"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 18), - "bound-required-int", - "input", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(43, 0, 43, 21), - "bound-required-string", - "input", - stringType), - RazorDiagnosticFactory.CreateParsing_TagHelperMissingCloseAngle( - new SourceSpan(new SourceLocation(65, 0, 65), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateParsing_TagHelperFoundMalformedTagHelper( - new SourceSpan(new SourceLocation(65, 0, 65), contentLength: 1), "p"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(67, 0, 67, 9), - "bound-int", - "p", - intType), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(77, 0, 77, 12), - "bound-string", - "p", - stringType), - } - }, - }; - } - } - - [Theory] - [MemberData(nameof(MinimizedAttributeData_Document))] - [MemberData(nameof(MinimizedAttributeData_CSharpBlock))] - [MemberData(nameof(MinimizedAttributeData_PartialTags))] - public void Rewrite_UnderstandsMinimizedAttributes( - string documentContent, - object expectedOutput, - object expectedErrors) + [Fact] + public void Rewrite_AllowsCompatibleTagStructures3() { // Arrange - var descriptors = new TagHelperDescriptor[] - { - TagHelperDescriptorBuilder.Create("InputTagHelper1", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("input") - .RequireAttributeDescriptor(attribute => attribute.Name("unbound-required"))) - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("input") - .RequireAttributeDescriptor(attribute => attribute.Name("bound-required-string"))) - .BoundAttributeDescriptor(attribute => - attribute - .Name("bound-required-string") - .PropertyName("BoundRequiredString") - .TypeName(typeof(string).FullName)) - .Build(), - TagHelperDescriptorBuilder.Create("InputTagHelper2", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => - rule - .RequireTagName("input") - .RequireAttributeDescriptor(attribute => attribute.Name("bound-required-int"))) - .BoundAttributeDescriptor(attribute => - attribute - .Name("bound-required-int") - .PropertyName("BoundRequiredInt") - .TypeName(typeof(int).FullName)) - .Build(), - TagHelperDescriptorBuilder.Create("InputTagHelper3", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("input")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("int-dictionary") - .PropertyName("DictionaryOfIntProperty") - .TypeName(typeof(IDictionary).Namespace + ".IDictionary") - .AsDictionaryAttribute("int-prefix-", typeof(int).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("string-dictionary") - .PropertyName("DictionaryOfStringProperty") - .TypeName(typeof(IDictionary).Namespace + ".IDictionary") - .AsDictionaryAttribute("string-prefix-", typeof(string).FullName)) - .Build(), - TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") - .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) - .BoundAttributeDescriptor(attribute => - attribute - .Name("bound-string") - .PropertyName("BoundRequiredString") - .TypeName(typeof(string).FullName)) - .BoundAttributeDescriptor(attribute => - attribute - .Name("bound-int") - .PropertyName("BoundRequiredString") - .TypeName(typeof(int).FullName)) - .Build(), - }; + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.Unspecified, TagStructure.WithoutEndTag); // Act & Assert - EvaluateData(descriptors, documentContent, (MarkupBlock)expectedOutput, (RazorDiagnostic[])expectedErrors); + EvaluateData(descriptors, ""); + } + + [Fact] + public void Rewrite_AllowsCompatibleTagStructures4() + { + // Arrange + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.WithoutEndTag, TagStructure.WithoutEndTag); + + // Act & Assert + EvaluateData(descriptors, ""); + } + + [Fact] + public void Rewrite_AllowsCompatibleTagStructures5() + { + // Arrange + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.Unspecified, TagStructure.NormalOrSelfClosing); + + // Act & Assert + EvaluateData(descriptors, ""); + } + + [Fact] + public void Rewrite_AllowsCompatibleTagStructures6() + { + // Arrange + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.Unspecified, TagStructure.WithoutEndTag); + + // Act & Assert + EvaluateData(descriptors, ""); + } + + [Fact] + public void Rewrite_AllowsCompatibleTagStructures7() + { + // Arrange + var descriptors = GetTagStructureCompatibilityDescriptors(TagStructure.NormalOrSelfClosing, TagStructure.Unspecified); + + // Act & Assert + EvaluateData(descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1() + { + RunParseTreeRewriterTest("

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

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

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

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

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

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

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

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

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

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

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

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

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

      ", "strong", "p"); + } + + [Fact] + public void Rewrite_CreatesErrorForMalformedTagHelper7() + { + RunParseTreeRewriterTest("<<> <<>>", "strong", "p"); + } + + [Fact] + public void Rewrite_CreatesErrorForMalformedTagHelper8() + { + RunParseTreeRewriterTest("

      ", "strong", "p"); + } + + public static TagHelperDescriptor[] CodeTagHelperAttributes_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("PersonTagHelper", "personAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("person")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("age") + .PropertyName("Age") + .TypeName(typeof(int).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("birthday") + .PropertyName("BirthDay") + .TypeName(typeof(DateTime).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("name") + .PropertyName("Name") + .TypeName(typeof(string).FullName)) + .Build() + }; + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes1() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes2() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes3() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes4() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes5() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes6() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes7() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes8() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes9() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes10() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes11() + { + EvaluateData(CodeTagHelperAttributes_Descriptors, ""); + } + + [Fact] + public void TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1() + { + RunParseTreeRewriterTest("

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

      Hello World

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

      Hello World

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

      Hello

      World

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

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

      Hello World

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

      Hello

      World

      ", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2() + { + // Arrange + var doWhileString = "@do { var foo = bar; Foo foo++; } while (foo);"; + var currentFormattedString = "

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      Hello World

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4() + { + // Arrange + var doWhileString = "@do { var foo = bar; Foo foo++; } while (foo);"; + var currentFormattedString = "

      Hello World

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      Hello

      World

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6() + { + // Arrange + var doWhileString = "@do { var foo = bar; Foo foo++; } while (foo);"; + var currentFormattedString = "

      Hello

      World

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      Hello World inside of strong tag

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      {0}

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2() + { + // Arrange + var doWhileString = "@do { var foo = bar;

      Foo

      foo++; } while (foo);"; + var currentFormattedString = "

      {0}

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      Hello World {0}

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4() + { + // Arrange + var doWhileString = "@do { var foo = bar;

      Foo

      foo++; } while (foo);"; + var currentFormattedString = "

      Hello World {0}

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      {0}

      {0}

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6() + { + // Arrange + var doWhileString = "@do { var foo = bar;

      Foo

      foo++; } while (foo);"; + var currentFormattedString = "

      {0}

      {0}

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var currentFormattedString = "

      Hello {0}inside of {0} strong tag

      "; + var document = string.Format(currentFormattedString, dateTimeNowString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8() + { + // Arrange + var doWhileString = "@do { var foo = bar;

      Foo

      foo++; } while (foo);"; + var currentFormattedString = "

      Hello {0}inside of {0} strong tag

      "; + var document = string.Format(currentFormattedString, doWhileString); + + // Act & Assert + RunParseTreeRewriterTest(document, "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml1() + { + RunParseTreeRewriterTest("<<

      >>

      ", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml2() + { + RunParseTreeRewriterTest("<

      ", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml3() + { + RunParseTreeRewriterTest("< p />", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml4() + { + RunParseTreeRewriterTest("", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml5() + { + RunParseTreeRewriterTest("< class=\"foo\"

      ", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml6() + { + RunParseTreeRewriterTest("/>

      >", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml7() + { + RunParseTreeRewriterTest("/>

      >", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml8() + { + RunParseTreeRewriterTest("@DateTime.Now/>

      >", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_AllowsInvalidHtml9() + { + RunParseTreeRewriterTest("

      @DateTime.Now / >

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

      < @DateTime.Now >

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

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

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

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

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

      ", "p"); + } + + public static TagHelperDescriptor[] EmptyTagHelperBoundAttribute_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("mythTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("myth")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("bound") + .PropertyName("Bound") + .TypeName(typeof(bool).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("name") + .PropertyName("Name") + .TypeName(typeof(string).FullName)) + .Build() + }; + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes2() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes13() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes14() + { + EvaluateData(EmptyTagHelperBoundAttribute_Descriptors, ""); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesScriptTagHelpers1() + { + RunParseTreeRewriterTest("", "p", "div", "script"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesScriptTagHelpers2() + { + RunParseTreeRewriterTest("", "p", "div", "script"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesScriptTagHelpers3() + { + RunParseTreeRewriterTest("

      World

      ", "p", "div", "script"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesScriptTagHelpers4() + { + RunParseTreeRewriterTest(" ", "p", "div", "script"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesScriptTagHelpers5() + { + RunParseTreeRewriterTest(" World

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

      Hello World

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

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

      Hello

      World

      ", "p"); + } + + + [Fact] + public void TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3() + { + RunParseTreeRewriterTest("Hello

      World", "p"); + } + + [Fact] + public void TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1() + { + RunParseTreeRewriterTest("

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

      Hello World

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

      Hello World

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

      Hello

      World

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

      Hello World inside of strong tag

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

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

      Hello World

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

      Hello

      World

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

      Hello World inside of strong tag

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

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

      Hello World

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

      Hello

      World

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

      Hello World inside of strong tag

      ", "p"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document1() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document2() + { + // Arrange + var document = ""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document3() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document4() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document5() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document6() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document7() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block1() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block2() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block3() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block4() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block5() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block6() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + [Fact] + public void Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block7() + { + // Arrange + var dateTimeNowString = "@DateTime.Now"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + RunParseTreeRewriterTest(document, "input"); + } + + public static TagHelperDescriptor[] MinimizedAttribute_Descriptors = new TagHelperDescriptor[] + { + TagHelperDescriptorBuilder.Create("InputTagHelper1", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("input") + .RequireAttributeDescriptor(attribute => attribute.Name("unbound-required"))) + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("input") + .RequireAttributeDescriptor(attribute => attribute.Name("bound-required-string"))) + .BoundAttributeDescriptor(attribute => + attribute + .Name("bound-required-string") + .PropertyName("BoundRequiredString") + .TypeName(typeof(string).FullName)) + .Build(), + TagHelperDescriptorBuilder.Create("InputTagHelper2", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => + rule + .RequireTagName("input") + .RequireAttributeDescriptor(attribute => attribute.Name("bound-required-int"))) + .BoundAttributeDescriptor(attribute => + attribute + .Name("bound-required-int") + .PropertyName("BoundRequiredInt") + .TypeName(typeof(int).FullName)) + .Build(), + TagHelperDescriptorBuilder.Create("InputTagHelper3", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("input")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("int-dictionary") + .PropertyName("DictionaryOfIntProperty") + .TypeName(typeof(IDictionary).Namespace + ".IDictionary") + .AsDictionaryAttribute("int-prefix-", typeof(int).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("string-dictionary") + .PropertyName("DictionaryOfStringProperty") + .TypeName(typeof(IDictionary).Namespace + ".IDictionary") + .AsDictionaryAttribute("string-prefix-", typeof(string).FullName)) + .Build(), + TagHelperDescriptorBuilder.Create("PTagHelper", "SomeAssembly") + .TagMatchingRuleDescriptor(rule => rule.RequireTagName("p")) + .BoundAttributeDescriptor(attribute => + attribute + .Name("bound-string") + .PropertyName("BoundRequiredString") + .TypeName(typeof(string).FullName)) + .BoundAttributeDescriptor(attribute => + attribute + .Name("bound-int") + .PropertyName("BoundRequiredString") + .TypeName(typeof(int).FullName)) + .Build(), + }; + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document1() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document2() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document3() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document4() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document5() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document6() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document7() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document8() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document9() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document10() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document11() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document12() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document13() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document14() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document15() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document16() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document17() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document18() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document19() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document20() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document21() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document22() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document23() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document24() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document25() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document26() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document27() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document28() + { + // Arrange + var document = ""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document29() + { + // Arrange + var document = "

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document30() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document31() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $"

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document32() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $""; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Document33() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $"

      "; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block1() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block2() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block3() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block4() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block5() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block6() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block7() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block8() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block9() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block10() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block11() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block12() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block13() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block14() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block15() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block16() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block17() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block18() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block19() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block20() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block21() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block22() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block23() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block24() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block25() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block26() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block27() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block28() + { + // Arrange + var document = ""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block29() + { + // Arrange + var document = "

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block30() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block31() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $"

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block32() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $""; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_Block33() + { + // Arrange + var expressionString = "@DateTime.Now + 1"; + var document = $"

      "; + + // Wrap in a CSharp block + document = $"@{{{document}}}"; + + // Act & Assert + EvaluateData(MinimizedAttribute_Descriptors, document); + } + + [Fact] + public void Rewrite_UnderstandsMinimizedAttributes_PartialTags1() + { + EvaluateData(MinimizedAttribute_Descriptors, "() - { - new TagHelperAttributeNode("boundbool", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("boundbooldict-key", null, AttributeStructure.Minimized), - })); - // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, new RazorDiagnostic[] { }); + EvaluateData(descriptors, document); } [Fact] public void Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes() { // Arrange - var documentContent = ""; + var document = ""; var descriptors = new TagHelperDescriptor[] { TagHelperDescriptorBuilder.Create("InputTagHelper", "SomeAssembly") @@ -3964,32 +2132,8 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy var featureFlags = new TestRazorParserFeatureFlags(); - var expectedOutput = new MarkupBlock( - new MarkupTagHelperBlock( - "input", - TagMode.SelfClosing, - attributes: new List() - { - new TagHelperAttributeNode("boundbool", null, AttributeStructure.Minimized), - new TagHelperAttributeNode("boundbooldict-key", null, AttributeStructure.Minimized), - })); - - var expectedErrors = new[] - { - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(7, 0, 7, 9), - "boundbool", - "input", - "System.Boolean"), - RazorDiagnosticFactory.CreateTagHelper_EmptyBoundAttribute( - new SourceSpan(17, 0, 17, 17), - "boundbooldict-key", - "input", - "System.Boolean"), - }; - // Act & Assert - EvaluateData(descriptors, documentContent, expectedOutput, expectedErrors, featureFlags: featureFlags); + EvaluateData(descriptors, document, featureFlags: featureFlags); } private class TestRazorParserFeatureFlags : RazorParserFeatureFlags 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/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures1.syntaxtree.txt new file mode 100644 index 0000000000..4dbeb051ae --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures1.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 15 - (0:0,0) + Tag block - Gen - 15 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + StartTagAndEndTag - ... diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures2.syntaxtree.txt new file mode 100644 index 0000000000..b44a4b21d3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures2.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 9 - (0:0,0) + Tag block - Gen - 9 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures3.syntaxtree.txt new file mode 100644 index 0000000000..86f4c28f35 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures3.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + StartTagOnly - + type - SingleQuotes + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[text]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures4.syntaxtree.txt new file mode 100644 index 0000000000..ebca51245c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures4.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + StartTagOnly - + Tag block - Gen - 7 - (7:0,7) - input - InputTagHelper1 - InputTagHelper2 + StartTagOnly - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures5.syntaxtree.txt new file mode 100644 index 0000000000..33854029d0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures5.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 27 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + StartTagAndEndTag - ... + type - SingleQuotes + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[text]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures6.syntaxtree.txt new file mode 100644 index 0000000000..b44a4b21d3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures6.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 9 - (0:0,0) + Tag block - Gen - 9 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures7.syntaxtree.txt new file mode 100644 index 0000000000..b44a4b21d3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_AllowsCompatibleTagStructures7.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 9 - (0:0,0) + Tag block - Gen - 9 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 + SelfClosing - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes1.syntaxtree.txt new file mode 100644 index 0000000000..1f5a3adbca --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes1.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - ul - CatchAllTagHelper + StartTagAndEndTag -
        ...
      + bound - Minimized + [item] - SingleQuotes + Code span - Gen - [items] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[items]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes2.syntaxtree.txt new file mode 100644 index 0000000000..1f15204f1b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes2.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 32 - (0:0,0) + Tag block - Gen - 32 - (0:0,0) - ul - CatchAllTagHelper + StartTagAndEndTag -
        ...
      + bound - Minimized + [(item)] - SingleQuotes + Code span - Gen - [items] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (20:0,20) - Symbols:1 + HtmlSymbolType.Text;[items]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes3.syntaxtree.txt new file mode 100644 index 0000000000..104b190dd9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes3.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 55 - (0:0,0) + Tag block - Gen - 55 - (0:0,0) - button - CatchAllTagHelper + StartTagAndEndTag - + bound - Minimized + (click) - SingleQuotes + Code span - Gen - [doSomething()] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (23:0,23) - Symbols:1 + HtmlSymbolType.Text;[doSomething()]; + Markup span - Gen - [Click Me] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:3 + HtmlSymbolType.Text;[Click]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Me]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes4.syntaxtree.txt new file mode 100644 index 0000000000..0aec87b6c9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes4.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 56 - (0:0,0) + Tag block - Gen - 56 - (0:0,0) - button - CatchAllTagHelper + StartTagAndEndTag - + bound - Minimized + (^click) - SingleQuotes + Code span - Gen - [doSomething()] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (24:0,24) - Symbols:1 + HtmlSymbolType.Text;[doSomething()]; + Markup span - Gen - [Click Me] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:3 + HtmlSymbolType.Text;[Click]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Me]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes5.syntaxtree.txt new file mode 100644 index 0000000000..812f458bf8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes5.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 46 - (0:0,0) + Tag block - Gen - 46 - (0:0,0) - template - CatchAllTagHelper + StartTagAndEndTag - + bound - Minimized + *something - SingleQuotes + Markup span - Gen - [value] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + HtmlSymbolType.Text;[value]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes6.syntaxtree.txt new file mode 100644 index 0000000000..011d30b1d9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes6.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 33 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) - div - CatchAllTagHelper + StartTagAndEndTag -
      ...
      + bound - Minimized + #localminimized - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes7.syntaxtree.txt new file mode 100644 index 0000000000..5113b8d2c1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleSymbolBoundAttributes7.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 32 - (0:0,0) + Tag block - Gen - 32 - (0:0,0) - div - CatchAllTagHelper + StartTagAndEndTag -
      ...
      + bound - Minimized + #local - SingleQuotes + Markup span - Gen - [value] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.Text;[value]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure1.syntaxtree.txt new file mode 100644 index 0000000000..64f951bb83 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure1.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/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure2.syntaxtree.txt new file mode 100644 index 0000000000..bb47a46930 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure2.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - input - InputTagHelper + StartTagOnly - + type - SingleQuotes + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[text]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure3.syntaxtree.txt new file mode 100644 index 0000000000..5940efaad7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure3.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper + StartTagOnly - + Tag block - Gen - 7 - (7:0,7) - input - InputTagHelper + StartTagOnly - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure4.syntaxtree.txt new file mode 100644 index 0000000000..c0c7e5a5df --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure4.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 26 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - input - InputTagHelper + StartTagOnly - + type - SingleQuotes + Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[text]; + Tag block - Gen - 7 - (19:0,19) - input - InputTagHelper + StartTagOnly - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure5.syntaxtree.txt new file mode 100644 index 0000000000..0ab4f0e967 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CanHandleWithoutEndTagTagStructure5.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 25 - (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 - 7 - (5:0,5) - input - InputTagHelper + StartTagOnly - + Tag block - Gen - 7 - (12:0,12) - input - InputTagHelper + StartTagOnly - + Tag block - Gen - 6 - (19:0,19) + Markup span - Gen - [
      ] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1.diagnostics.txt new file mode 100644 index 0000000000..c11ff99be0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1.syntaxtree.txt new file mode 100644 index 0000000000..94077ed99f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes1.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10.diagnostics.txt new file mode 100644 index 0000000000..d57ce479b5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ2008: Attribute 'BouND' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10.syntaxtree.txt new file mode 100644 index 0000000000..1e5707cb20 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes10.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) - myth - mythTagHelper + SelfClosing - + BouND - SingleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11.diagnostics.txt new file mode 100644 index 0000000000..9739cf1558 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11.diagnostics.txt @@ -0,0 +1,2 @@ +(1,7): Error RZ2008: Attribute 'BOUND' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. +(1,19): Error RZ2008: Attribute 'bOUnd' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11.syntaxtree.txt new file mode 100644 index 0000000000..895d34342c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes11.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - myth - mythTagHelper + SelfClosing - + BOUND - SingleQuotes + Markup block - Gen - 0 - (0:0,0) + bOUnd - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12.diagnostics.txt new file mode 100644 index 0000000000..52810ad2c0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ2008: Attribute 'BOUND' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12.syntaxtree.txt new file mode 100644 index 0000000000..74bb0ae96b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes12.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 32 - (0:0,0) + Tag block - Gen - 32 - (0:0,0) - myth - mythTagHelper + StartTagAndEndTag - ... + BOUND - DoubleQuotes + Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (12:0,12) - Symbols:0 + nAMe - SingleQuotes + Markup span - Gen - [john] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.Text;[john]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes13.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes13.syntaxtree.txt new file mode 100644 index 0000000000..d72cfac82c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes13.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Markup block - Gen - 11 - (13:0,13) + Markup block - Gen - 9 - (13:0,13) + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 5 - (17:0,17) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Symbols:1 + CSharpSymbolType.Keyword;[true]; + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (22:0,22) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes14.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes14.syntaxtree.txt new file mode 100644 index 0000000000..6c9a2989e2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes14.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Markup block - Gen - 13 - (13:0,13) + Markup block - Gen - 11 - (13:0,13) + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 7 - (17:0,17) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [(] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Symbols:1 + CSharpSymbolType.LeftParenthesis;[(]; + Code span - Gen - [true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (19:0,19) - Symbols:1 + CSharpSymbolType.Keyword;[true]; + Code span - Gen - [)] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (23:0,23) - Symbols:1 + CSharpSymbolType.RightParenthesis;[)]; + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (24:0,24) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes2.syntaxtree.txt new file mode 100644 index 0000000000..c6fb322644 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes2.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Code span - Gen - [ true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3.diagnostics.txt new file mode 100644 index 0000000000..c11ff99be0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3.syntaxtree.txt new file mode 100644 index 0000000000..5f9f600862 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes3.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 21 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4.diagnostics.txt new file mode 100644 index 0000000000..9a927a8ecb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4.diagnostics.txt @@ -0,0 +1,2 @@ +(1,7): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. +(1,17): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4.syntaxtree.txt new file mode 100644 index 0000000000..969f962e57 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes4.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 27 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Markup block - Gen - 0 - (0:0,0) + bound - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5.diagnostics.txt new file mode 100644 index 0000000000..f16283e328 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5.diagnostics.txt @@ -0,0 +1,2 @@ +(1,7): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. +(1,18): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5.syntaxtree.txt new file mode 100644 index 0000000000..15e108c221 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes5.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + bound - DoubleQuotes + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (24:0,24) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6.diagnostics.txt new file mode 100644 index 0000000000..7993f8fe1b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6.diagnostics.txt @@ -0,0 +1 @@ +(1,20): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6.syntaxtree.txt new file mode 100644 index 0000000000..dfe00f7eb2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes6.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Code span - Gen - [true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[true]; + bound - DoubleQuotes + Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (25:0,25) - Symbols:0 diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7.diagnostics.txt new file mode 100644 index 0000000000..c11ff99be0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7.syntaxtree.txt new file mode 100644 index 0000000000..887ea6880f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes7.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - DoubleQuotes + Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (12:0,12) - Symbols:0 + name - SingleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8.diagnostics.txt new file mode 100644 index 0000000000..c11ff99be0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8.diagnostics.txt @@ -0,0 +1 @@ +(1,7): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8.syntaxtree.txt new file mode 100644 index 0000000000..d734c93130 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes8.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - DoubleQuotes + Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (12:0,12) - Symbols:0 + name - SingleQuotes + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9.diagnostics.txt new file mode 100644 index 0000000000..356a13e234 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9.diagnostics.txt @@ -0,0 +1 @@ +(1,32): Error RZ2008: Attribute 'bound' on tag helper element 'myth' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9.syntaxtree.txt new file mode 100644 index 0000000000..e411abea8a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForEmptyTagHelperBoundAttributes9.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 46 - (0:0,0) + Tag block - Gen - 46 - (0:0,0) - myth - mythTagHelper + SelfClosing - + bound - SingleQuotes + Code span - Gen - [true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[true]; + name - SingleQuotes + Markup span - Gen - [john] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[john]; + bound - DoubleQuotes + Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (37:0,37) - Symbols:0 + name - DoubleQuotes + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:0 diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper1.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper1.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper1.syntaxtree.txt new file mode 100644 index 0000000000..a6461887d3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper1.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 2 - (0:0,0) + Tag block - Gen - 2 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 6 - (0:0,0) + Tag block - Gen - 6 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      - 10 - (0:0,0) + Tag block - Gen - 10 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + Tag block - Gen - 7 - (3:0,3) - strong - strongtaghelper + StartTagAndEndTag - - 11 - (0:0,0) + Tag block - Gen - 11 - (0:0,0) - strong - strongtaghelper + StartTagAndEndTag - - 3 - (8:0,8) - p - ptaghelper + StartTagAndEndTag -

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper5.diagnostics.txt new file mode 100644 index 0000000000..83865622a4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper5.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'strong'. +(1,11): Error RZ1035: Missing close angle for tag helper 'strong'. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper5.syntaxtree.txt new file mode 100644 index 0000000000..605e599c38 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper5.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 16 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) - strong - strongtaghelper + StartTagAndEndTag - - 16 - (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 - 1 - (1:0,1) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 9 - (2:0,2) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 1 - (12:0,12) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 3 - (13:0,13) - p - ptaghelper + StartTagAndEndTag -

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper7.diagnostics.txt new file mode 100644 index 0000000000..299623f22a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper7.diagnostics.txt @@ -0,0 +1 @@ +(1,4): 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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper7.syntaxtree.txt new file mode 100644 index 0000000000..963b9575db --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper7.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 16 - (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 - 1 - (1:0,1) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 14 - (2:0,2) - strong - strongtaghelper + StartTagAndEndTag - + Markup span - Gen - [> ] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:2 + HtmlSymbolType.CloseAngle;[>]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 1 - (12:0,12) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 2 - (13:0,13) + Markup span - Gen - [<>] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:2 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper8.diagnostics.txt new file mode 100644 index 0000000000..fbfae8923a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper8.diagnostics.txt @@ -0,0 +1 @@ +(1,15): 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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper8.syntaxtree.txt new file mode 100644 index 0000000000..c019cccf0f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelper8.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [ - 21 - (4:0,4) - strong - strongtaghelper + StartTagAndEndTag - ... + Tag block - Gen - 4 - (12:0,12) + Markup span - Gen - [

      ] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1.syntaxtree.txt new file mode 100644 index 0000000000..41e6c9cb10 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes1.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 10 - (0:0,0) + Tag block - Gen - 10 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + class - NoQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes11.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes11.diagnostics.txt new file mode 100644 index 0000000000..c263af5dea --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes11.diagnostics.txt @@ -0,0 +1,3 @@ +(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. +(1,25): 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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes11.syntaxtree.txt new file mode 100644 index 0000000000..1fd6ddea9a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes11.syntaxtree.txt @@ -0,0 +1,14 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 8 - (10:0,10) + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [ bar=] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[bar]; + HtmlSymbolType.Equals;[=]; + foo - Minimized + Tag block - Gen - 8 - (23:0,23) - strong - strongtaghelper + StartTagAndEndTag - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes12.syntaxtree.txt new file mode 100644 index 0000000000..60f2de2117 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes12.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup block - Gen - 8 - (10:0,10) + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Markup span - Gen - [ bar=] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[bar]; + HtmlSymbolType.Equals;[=]; + foo - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes13.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes13.diagnostics.txt new file mode 100644 index 0000000000..3191132e51 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes13.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ1031: The tag helper 'p' must not have C# in the element's attribute declaration area. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes13.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes13.syntaxtree.txt new file mode 100644 index 0000000000..d1b413266d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes13.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 33 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes14.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes14.diagnostics.txt new file mode 100644 index 0000000000..3191132e51 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes14.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ1031: The tag helper 'p' must not have C# in the element's attribute declaration area. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes14.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes14.syntaxtree.txt new file mode 100644 index 0000000000..1f20b3328e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes14.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 27 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes15.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes15.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes15.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes15.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes15.syntaxtree.txt new file mode 100644 index 0000000000..bbda6e6faa --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes15.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + class - DoubleQuotes + Markup block - Gen - 13 - (9:0,9) + Markup block - Gen - 13 - (9:0,9) + Expression block - Gen - 13 - (9:0,9) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (10:0,10) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes16.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes16.diagnostics.txt new file mode 100644 index 0000000000..719d1c8841 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes16.diagnostics.txt @@ -0,0 +1,3 @@ +(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. +(1,12): Error RZ1006: The do 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. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes16.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes16.syntaxtree.txt new file mode 100644 index 0000000000..411be6ca51 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes16.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 15 - (0:0,0) + Tag block - Gen - 15 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 21 - (0:0,0) + Tag block - Gen - 21 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + class - DoubleQuotes + Markup block - Gen - 11 - (10:0,10) + Markup block - Gen - 11 - (10:0,10) + Statement block - Gen - 11 - (10:0,10) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do {">

      ] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:4 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.StringLiteral;[">

      ];RZ1000(15:0,15 [1] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes18.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes18.diagnostics.txt new file mode 100644 index 0000000000..6451ce6e4b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes18.diagnostics.txt @@ -0,0 +1,5 @@ +(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. +(1,4): Error RZ1031: The tag helper 'p' must not have C# in the element's attribute declaration area. +(1,5): Error RZ1006: The do 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,32): 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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes18.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes18.syntaxtree.txt new file mode 100644 index 0000000000..1903f8d6b7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes18.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 33 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes19.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes19.diagnostics.txt new file mode 100644 index 0000000000..f716761d50 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes19.diagnostics.txt @@ -0,0 +1 @@ +(1,14): Error RZ1030: TagHelper attributes must be well-formed. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes19.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes19.syntaxtree.txt new file mode 100644 index 0000000000..6b276feb1b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes19.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 38 - (0:0,0) + Tag block - Gen - 38 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [some] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[some]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes2.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes2.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes2.syntaxtree.txt new file mode 100644 index 0000000000..2e7acef3f6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes2.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 24 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + bar - DoubleQuotes + Markup span - Gen - [false] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:1 + HtmlSymbolType.Text;[false]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes3.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes3.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes3.syntaxtree.txt new file mode 100644 index 0000000000..2555ffe387 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes3.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 14 - (8:0,8) + Markup span - Gen - [false] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:1 + HtmlSymbolType.Text;[false]; + Markup span - Gen - [ - 13 - (0:0,0) + Tag block - Gen - 13 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - [false] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1 + HtmlSymbolType.Text;[false]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes6.diagnostics.txt new file mode 100644 index 0000000000..b0e5b255ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes6.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes6.syntaxtree.txt new file mode 100644 index 0000000000..7e0b2744b6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes6.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 14 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + bar - DoubleQuotes + Markup block - Gen - 12 - (8:0,8) + Markup span - Gen - [false'] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:2 + HtmlSymbolType.Text;[false]; + HtmlSymbolType.SingleQuote;[']; + Markup span - Gen - [ >

      ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:6 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes8.diagnostics.txt new file mode 100644 index 0000000000..2bc23b0f86 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes8.diagnostics.txt @@ -0,0 +1,3 @@ +(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. +(1,12): 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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes8.syntaxtree.txt new file mode 100644 index 0000000000..7fea4843e0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes8.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 18 - (0:0,0) + Tag block - Gen - 18 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      - 8 - (10:0,10) - strong - strongtaghelper + StartTagAndEndTag - diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes9.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes9.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/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes9.syntaxtree.txt new file mode 100644 index 0000000000..ba68ccae99 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesErrorForMalformedTagHelpersWithAttributes9.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + class - NoQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.syntaxtree.txt new file mode 100644 index 0000000000..272bfa66fb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 19 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Code span - Gen - [12] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[12]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.syntaxtree.txt new file mode 100644 index 0000000000..3c7f0e63d1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 73 - (0:0,0) + Tag block - Gen - 73 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Code span - Gen - [12] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[12]; + birthday - DoubleQuotes + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[DateTime.Now]; + name - DoubleQuotes + Markup block - Gen - 22 - (47:0,47) + Markup block - Gen - 2 - (47:0,47) + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (47:0,47) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (48:0,48) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [BoundStringAttribute] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:1 + HtmlSymbolType.Text;[BoundStringAttribute]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.syntaxtree.txt new file mode 100644 index 0000000000..562d9ec8c4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.syntaxtree.txt @@ -0,0 +1,41 @@ +Markup block - Gen - 77 - (0:0,0) + Tag block - Gen - 77 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Markup block - Gen - 9 - (13:0,13) + Markup block - Gen - 2 - (13:0,13) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup block - Gen - 7 - (15:0,15) + Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (15:0,15) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Expression block - Gen - 7 - (15:0,15) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (15:0,15) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [(] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (16:0,16) - Symbols:1 + CSharpSymbolType.LeftParenthesis;[(]; + Code span - Gen - [11+1] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Symbols:3 + CSharpSymbolType.IntegerLiteral;[11]; + CSharpSymbolType.Plus;[+]; + CSharpSymbolType.IntegerLiteral;[1]; + Code span - Gen - [)] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (21:0,21) - Symbols:1 + CSharpSymbolType.RightParenthesis;[)]; + birthday - DoubleQuotes + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (34:0,34) - Symbols:1 + HtmlSymbolType.Text;[DateTime.Now]; + name - DoubleQuotes + Markup block - Gen - 19 - (54:0,54) + Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (54:0,54) - Symbols:1 + HtmlSymbolType.Text;[Time:]; + Markup block - Gen - 14 - (59:0,59) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (59:0,59) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (60:0,60) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (60:0,60) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (61:0,61) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.syntaxtree.txt new file mode 100644 index 0000000000..87a2507f91 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 34 - (0:0,0) + Tag block - Gen - 34 - (0:0,0) - person - PersonTagHelper + SelfClosing - + birthday - DoubleQuotes + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Symbols:1 + HtmlSymbolType.Text;[DateTime.Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.syntaxtree.txt new file mode 100644 index 0000000000..7af14d5021 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 35 - (0:0,0) + Tag block - Gen - 35 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Markup block - Gen - 18 - (13:0,13) + Markup block - Gen - 18 - (13:0,13) + Expression block - Gen - 18 - (13:0,13) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (13:0,13) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now.Year] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Symbols:5 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Year]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.syntaxtree.txt new file mode 100644 index 0000000000..3319c1e632 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 36 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Markup block - Gen - 19 - (13:0,13) + Markup block - Gen - 19 - (13:0,13) + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 18 - (14:0,14) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now.Year] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (15:0,15) - Symbols:5 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Year]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.syntaxtree.txt new file mode 100644 index 0000000000..200858338e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 22 - (0:0,0) + Tag block - Gen - 22 - (0:0,0) - person - PersonTagHelper + SelfClosing - + name - DoubleQuotes + Markup span - Gen - [John] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[John]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.syntaxtree.txt new file mode 100644 index 0000000000..9d9ea76927 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 37 - (0:0,0) + Tag block - Gen - 37 - (0:0,0) - person - PersonTagHelper + SelfClosing - + name - DoubleQuotes + Markup block - Gen - 19 - (14:0,14) + Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[Time:]; + Markup block - Gen - 14 - (19:0,19) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (20:0,20) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (21:0,21) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.syntaxtree.txt new file mode 100644 index 0000000000..1e624c11ab --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.syntaxtree.txt @@ -0,0 +1,61 @@ +Markup block - Gen - 88 - (0:0,0) + Tag block - Gen - 88 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Markup block - Gen - 14 - (13:0,13) + Code span - Gen - [1] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[1]; + Code span - Gen - [ +] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup block - Gen - 7 - (16:0,16) + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (16:0,16) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 6 - (17:0,17) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [value] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Symbols:1 + CSharpSymbolType.Identifier;[value]; + Code span - Gen - [ +] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (23:0,23) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Code span - Gen - [ 2] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (25:0,25) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[2]; + birthday - SingleQuotes + Markup block - Gen - 46 - (39:0,39) + Code span - Gen - [(bool)] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (39:0,39) - Symbols:1 + HtmlSymbolType.Text;[(bool)]; + Markup block - Gen - 11 - (45:0,45) + Expression block - Gen - 11 - (45:0,45) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (45:0,45) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [Bag["val"]] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (46:0,46) - Symbols:4 + CSharpSymbolType.Identifier;[Bag]; + CSharpSymbolType.LeftBracket;[[]; + CSharpSymbolType.StringLiteral;["val"]; + CSharpSymbolType.RightBracket;[]]; + Code span - Gen - [ ?] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (56:0,56) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.QuestionMark;[?]; + Markup block - Gen - 3 - (58:0,58) + Code span - Gen - [ @] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (58:0,58) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Transition;[@]; + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (60:0,60) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Code span - Gen - [DateTime] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (61:0,61) - Symbols:1 + HtmlSymbolType.Text;[DateTime]; + Code span - Gen - [ :] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (69:0,69) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[:]; + Markup block - Gen - 14 - (71:0,71) + Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (71:0,71) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (72:0,72) + Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (72:0,72) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (73:0,73) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.syntaxtree.txt new file mode 100644 index 0000000000..68a6fbc5dc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 70 - (0:0,0) + Tag block - Gen - 70 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Code span - Gen - [12] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[12]; + birthday - DoubleQuotes + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[DateTime.Now]; + name - DoubleQuotes + Markup block - Gen - 19 - (47:0,47) + Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Text;[Time:]; + Markup block - Gen - 14 - (52:0,52) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (52:0,52) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (53:0,53) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (53:0,53) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (54:0,54) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.syntaxtree.txt new file mode 100644 index 0000000000..c51cf536d2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 73 - (0:0,0) + Tag block - Gen - 73 - (0:0,0) - person - PersonTagHelper + SelfClosing - + age - DoubleQuotes + Code span - Gen - [12] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1 + HtmlSymbolType.Text;[12]; + birthday - DoubleQuotes + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[DateTime.Now]; + name - DoubleQuotes + Markup block - Gen - 22 - (47:0,47) + Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Text;[Time:]; + Markup block - Gen - 3 - (52:0,52) + Markup span - Gen - [ @] - SpanEditHandler;Accepts:None - (52:0,52) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (54:0,54) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup block - Gen - 14 - (55:0,55) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (55:0,55) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (56:0,56) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (56:0,56) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (57:0,57) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.diagnostics.txt new file mode 100644 index 0000000000..39eecf8c70 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.diagnostics.txt @@ -0,0 +1,2 @@ +(1,8): Error RZ2008: Attribute 'boundbool' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. +(1,18): Error RZ2008: Attribute 'boundbooldict-key' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.syntaxtree.txt new file mode 100644 index 0000000000..8ff170117e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 37 - (0:0,0) + Tag block - Gen - 37 - (0:0,0) - input - InputTagHelper + SelfClosing - + boundbool - Minimized + boundbooldict-key - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.syntaxtree.txt new file mode 100644 index 0000000000..4eb47a7bd7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.syntaxtree.txt @@ -0,0 +1,26 @@ +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 - 39 - (2:0,2) + Tag block - Gen - 39 - (2:0,2) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 13 - (24:0,24) + Expression block - Gen - 13 - (24:0,24) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (25:0,25) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + 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/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.syntaxtree.txt new file mode 100644 index 0000000000..98f51ef652 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.syntaxtree.txt @@ -0,0 +1,20 @@ +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) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup span - Gen - [value] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.Text;[value]; + 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/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.syntaxtree.txt new file mode 100644 index 0000000000..3e782d9e57 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 49 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 49 - (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 - 46 - (2:0,2) + Tag block - Gen - 46 - (2:0,2) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 20 - (24:0,24) + Markup span - Gen - [prefix ] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:2 + HtmlSymbolType.Text;[prefix]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (31:0,31) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (32:0,32) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (48:0,48) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (48:0,48) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.syntaxtree.txt new file mode 100644 index 0000000000..85932d06e8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 49 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 49 - (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 - 46 - (2:0,2) + Tag block - Gen - 46 - (2:0,2) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 20 - (24:0,24) + Expression block - Gen - 13 - (24:0,24) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (25:0,25) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (37:0,37) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[suffix]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (48:0,48) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (48:0,48) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.syntaxtree.txt new file mode 100644 index 0000000000..abd9b936cf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 56 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 56 - (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 - 53 - (2:0,2) + Tag block - Gen - 53 - (2:0,2) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 27 - (24:0,24) + Markup span - Gen - [prefix ] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:2 + HtmlSymbolType.Text;[prefix]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (31:0,31) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (32:0,32) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[suffix]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (55:0,55) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (55:0,55) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.syntaxtree.txt new file mode 100644 index 0000000000..6af6af1db3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.syntaxtree.txt @@ -0,0 +1,34 @@ +Markup block - Gen - 85 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 85 - (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 - 82 - (2:0,2) + Tag block - Gen - 82 - (2:0,2) - input - inputtaghelper + SelfClosing - + pre-attribute - Minimized + data-required - SingleQuotes + Markup block - Gen - 27 - (38:0,38) + Markup span - Gen - [prefix ] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:2 + HtmlSymbolType.Text;[prefix]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (45:0,45) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (46:0,46) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (58:0,58) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[suffix]; + post-attribute - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (84:0,84) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (84:0,84) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (85:0,85) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.syntaxtree.txt new file mode 100644 index 0000000000..55a715509e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.syntaxtree.txt @@ -0,0 +1,37 @@ +Markup block - Gen - 63 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 63 - (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 - 60 - (2:0,2) + Tag block - Gen - 60 - (2:0,2) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 34 - (24:0,24) + Expression block - Gen - 13 - (24:0,24) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (25:0,25) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ middle ] - SpanEditHandler;Accepts:Any - (37:0,37) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[middle]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (45:0,45) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (46:0,46) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (62:0,62) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (62:0,62) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (63:0,63) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.syntaxtree.txt new file mode 100644 index 0000000000..8ae418bf5f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 39 - (0:0,0) + Tag block - Gen - 39 - (0:0,0) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 13 - (22:0,22) + Expression block - Gen - 13 - (22:0,22) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (23:0,23) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.syntaxtree.txt new file mode 100644 index 0000000000..8eba62748c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup span - Gen - [value] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[value]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.syntaxtree.txt new file mode 100644 index 0000000000..dfbb6e2232 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 46 - (0:0,0) + Tag block - Gen - 46 - (0:0,0) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 20 - (22:0,22) + Markup span - Gen - [prefix ] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:2 + HtmlSymbolType.Text;[prefix]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (29:0,29) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (29:0,29) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (30:0,30) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.syntaxtree.txt new file mode 100644 index 0000000000..18f817ff10 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 46 - (0:0,0) + Tag block - Gen - 46 - (0:0,0) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 20 - (22:0,22) + Expression block - Gen - 13 - (22:0,22) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (23:0,23) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[suffix]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.syntaxtree.txt new file mode 100644 index 0000000000..e5d1b3a570 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 53 - (0:0,0) + Tag block - Gen - 53 - (0:0,0) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 27 - (22:0,22) + Markup span - Gen - [prefix ] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:2 + HtmlSymbolType.Text;[prefix]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (29:0,29) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (29:0,29) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (30:0,30) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[suffix]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.syntaxtree.txt new file mode 100644 index 0000000000..bf9baafbab --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 82 - (0:0,0) + Tag block - Gen - 82 - (0:0,0) - input - inputtaghelper + SelfClosing - + pre-attribute - Minimized + data-required - SingleQuotes + Markup block - Gen - 27 - (36:0,36) + Markup span - Gen - [prefix ] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:2 + HtmlSymbolType.Text;[prefix]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (43:0,43) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (43:0,43) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (44:0,44) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[suffix]; + post-attribute - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.syntaxtree.txt new file mode 100644 index 0000000000..7ef6fd8cc1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 60 - (0:0,0) + Tag block - Gen - 60 - (0:0,0) - input - inputtaghelper + SelfClosing - + data-required - SingleQuotes + Markup block - Gen - 34 - (22:0,22) + Expression block - Gen - 13 - (22:0,22) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (23:0,23) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ middle ] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[middle]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (43:0,43) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (43:0,43) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (44:0,44) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers1.syntaxtree.txt new file mode 100644 index 0000000000..a855effb2e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers1.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 16 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers2.syntaxtree.txt new file mode 100644 index 0000000000..bb2bf1ba66 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers2.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 16 - (0:0,0) + Tag block - Gen - 16 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers3.syntaxtree.txt new file mode 100644 index 0000000000..1880c2201d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers3.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 14 - (0:0,0) + Tag block - Gen - 14 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:0 diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers4.syntaxtree.txt new file mode 100644 index 0000000000..2328deb1ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers4.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 33 - (0:0,0) + Tag block - Gen - 33 - (0:0,0) - p - ptaghelper + SelfClosing -

      + class1 - SingleQuotes + Markup block - Gen - 0 - (0:0,0) + class2 - DoubleQuotes + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:0 + class3 - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers5.syntaxtree.txt new file mode 100644 index 0000000000..e11b56a9b8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsEmptyAttributeTagHelpers5.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - p - ptaghelper + SelfClosing -

      + class1 - SingleQuotes + Markup block - Gen - 0 - (0:0,0) + class2 - DoubleQuotes + Markup block - Gen - 0 - (0:0,0) + class3 - DoubleQuotes + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:0 diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block1.syntaxtree.txt new file mode 100644 index 0000000000..ed1d6c42eb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block1.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 26 - (2:0,2) + Tag block - Gen - 26 - (2:0,2) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + unbound-required - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block10.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block10.diagnostics.txt new file mode 100644 index 0000000000..1fba524ca7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block10.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'int-prefix-value' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block10.syntaxtree.txt new file mode 100644 index 0000000000..a8ef157462 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block10.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 25 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + int-prefix-value - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block11.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block11.diagnostics.txt new file mode 100644 index 0000000000..f50988eac1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block11.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'string-prefix-value' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block11.syntaxtree.txt new file mode 100644 index 0000000000..281ae04728 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block11.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 32 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 32 - (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 - 29 - (2:0,2) + Tag block - Gen - 29 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + string-prefix-value - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block12.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block12.diagnostics.txt new file mode 100644 index 0000000000..1fba524ca7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block12.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'int-prefix-value' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block12.syntaxtree.txt new file mode 100644 index 0000000000..14dc4b64a8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block12.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 32 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 32 - (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 - 29 - (2:0,2) + Tag block - Gen - 29 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + int-prefix-value - SingleQuotes + Markup block - Gen - 0 - (0:0,0) + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block13.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block13.syntaxtree.txt new file mode 100644 index 0000000000..14ae07b2bd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block13.syntaxtree.txt @@ -0,0 +1,19 @@ +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) - input - InputTagHelper3 + SelfClosing - + string-prefix-value - SingleQuotes + Markup block - Gen - 0 - (0:0,0) + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block14.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block14.syntaxtree.txt new file mode 100644 index 0000000000..4dcb4f36a3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block14.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 32 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 32 - (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 - 29 - (2:0,2) + Tag block - Gen - 29 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + int-prefix-value - SingleQuotes + Code span - Gen - [3] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[3]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block15.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block15.syntaxtree.txt new file mode 100644 index 0000000000..d277bc7a76 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block15.syntaxtree.txt @@ -0,0 +1,24 @@ +Markup block - Gen - 46 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 46 - (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 - 43 - (2:0,2) + Tag block - Gen - 43 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + string-prefix-value - SingleQuotes + Markup block - Gen - 11 - (30:0,30) + Markup span - Gen - [some] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:1 + HtmlSymbolType.Text;[some]; + Markup span - Gen - [ string] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[string]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block16.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block16.diagnostics.txt new file mode 100644 index 0000000000..34a097ddbd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block16.diagnostics.txt @@ -0,0 +1 @@ +(1,27): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block16.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block16.syntaxtree.txt new file mode 100644 index 0000000000..da901827a8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block16.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 51 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 51 - (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 - 48 - (2:0,2) + Tag block - Gen - 48 - (2:0,2) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + unbound-required - Minimized + bound-required-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (50:0,50) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (50:0,50) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block17.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block17.diagnostics.txt new file mode 100644 index 0000000000..1f297c49c9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block17.diagnostics.txt @@ -0,0 +1,2 @@ +(1,6): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,16): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block17.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block17.syntaxtree.txt new file mode 100644 index 0000000000..4558f99cdd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block17.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 33 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 33 - (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 - 30 - (2:0,2) + Tag block - Gen - 30 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + bound-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block18.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block18.diagnostics.txt new file mode 100644 index 0000000000..85acb7466e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block18.diagnostics.txt @@ -0,0 +1,2 @@ +(1,10): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,46): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block18.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block18.syntaxtree.txt new file mode 100644 index 0000000000..aaa778b2b3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block18.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 70 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 70 - (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 - 67 - (2:0,2) + Tag block - Gen - 67 - (2:0,2) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + unbound-required - Minimized + bound-required-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (69:0,69) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (69:0,69) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (70:0,70) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block19.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block19.diagnostics.txt new file mode 100644 index 0000000000..40bd70e718 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block19.diagnostics.txt @@ -0,0 +1,3 @@ +(1,6): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,16): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. +(1,29): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block19.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block19.syntaxtree.txt new file mode 100644 index 0000000000..f6ad4660a2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block19.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 46 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 46 - (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 - 43 - (2:0,2) + Tag block - Gen - 43 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + bound-string - Minimized + bound-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block2.diagnostics.txt new file mode 100644 index 0000000000..7aaa747435 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block2.diagnostics.txt @@ -0,0 +1 @@ +(1,6): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block2.syntaxtree.txt new file mode 100644 index 0000000000..0fcb65e5cf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block2.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 20 - (2:0,2) + Tag block - Gen - 20 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block20.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block20.syntaxtree.txt new file mode 100644 index 0000000000..87ba3f5417 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block20.syntaxtree.txt @@ -0,0 +1,21 @@ +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 - 38 - (2:0,2) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + unbound-required - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.Text;[btn]; + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block21.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block21.diagnostics.txt new file mode 100644 index 0000000000..7aaa747435 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block21.diagnostics.txt @@ -0,0 +1 @@ +(1,6): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block21.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block21.syntaxtree.txt new file mode 100644 index 0000000000..e962144baa --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block21.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 35 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 35 - (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 - 32 - (2:0,2) + Tag block - Gen - 32 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-string - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block22.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block22.syntaxtree.txt new file mode 100644 index 0000000000..876ecfb277 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block22.syntaxtree.txt @@ -0,0 +1,21 @@ +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 - 38 - (2:0,2) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + unbound-required - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block23.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block23.diagnostics.txt new file mode 100644 index 0000000000..2e64b8d326 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block23.diagnostics.txt @@ -0,0 +1 @@ +(1,18): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block23.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block23.syntaxtree.txt new file mode 100644 index 0000000000..165aea0a76 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block23.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 35 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 35 - (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 - 32 - (2:0,2) + Tag block - Gen - 32 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block24.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block24.diagnostics.txt new file mode 100644 index 0000000000..17ba3c5206 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block24.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block24.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block24.syntaxtree.txt new file mode 100644 index 0000000000..ee4e5cda95 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block24.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 46 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 46 - (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 - 43 - (2:0,2) + Tag block - Gen - 43 - (2:0,2) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + bound-required-string - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block25.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block25.diagnostics.txt new file mode 100644 index 0000000000..4d52547683 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block25.diagnostics.txt @@ -0,0 +1 @@ +(1,22): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block25.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block25.syntaxtree.txt new file mode 100644 index 0000000000..bf7fd27ee0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block25.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 46 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 46 - (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 - 43 - (2:0,2) + Tag block - Gen - 43 - (2:0,2) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-required-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block26.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block26.diagnostics.txt new file mode 100644 index 0000000000..e49be8f23f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block26.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block26.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block26.syntaxtree.txt new file mode 100644 index 0000000000..abdaac733a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block26.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 43 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 43 - (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 - 40 - (2:0,2) + Tag block - Gen - 40 - (2:0,2) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (42:0,42) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block27.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block27.diagnostics.txt new file mode 100644 index 0000000000..d801de11d6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block27.diagnostics.txt @@ -0,0 +1 @@ +(1,6): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block27.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block27.syntaxtree.txt new file mode 100644 index 0000000000..70bce3044f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block27.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 32 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 32 - (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 - 29 - (2:0,2) + Tag block - Gen - 29 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[btn]; + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block28.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block28.diagnostics.txt new file mode 100644 index 0000000000..44cbbd120a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block28.diagnostics.txt @@ -0,0 +1 @@ +(1,22): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block28.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block28.syntaxtree.txt new file mode 100644 index 0000000000..313e9f9ae1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block28.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 43 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 43 - (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 - 40 - (2:0,2) + Tag block - Gen - 40 - (2:0,2) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-required-int - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (42:0,42) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block29.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block29.diagnostics.txt new file mode 100644 index 0000000000..b0d4ba275b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block29.diagnostics.txt @@ -0,0 +1 @@ +(1,18): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block29.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block29.syntaxtree.txt new file mode 100644 index 0000000000..7a1d258ca8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block29.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 32 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 32 - (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 - 29 - (2:0,2) + Tag block - Gen - 29 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-int - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block3.diagnostics.txt new file mode 100644 index 0000000000..17ba3c5206 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block3.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block3.syntaxtree.txt new file mode 100644 index 0000000000..261ab3ee82 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block3.syntaxtree.txt @@ -0,0 +1,18 @@ +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) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + bound-required-string - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block30.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block30.diagnostics.txt new file mode 100644 index 0000000000..f13ebc1193 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block30.diagnostics.txt @@ -0,0 +1 @@ +(1,36): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block30.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block30.syntaxtree.txt new file mode 100644 index 0000000000..c02f60494a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block30.syntaxtree.txt @@ -0,0 +1,34 @@ +Markup block - Gen - 57 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 57 - (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 - 54 - (2:0,2) + Tag block - Gen - 54 - (2:0,2) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup block - Gen - 17 - (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]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-required-int - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (56:0,56) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (56:0,56) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (57:0,57) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block31.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block31.diagnostics.txt new file mode 100644 index 0000000000..df44096ccc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block31.diagnostics.txt @@ -0,0 +1 @@ +(1,32): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block31.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block31.syntaxtree.txt new file mode 100644 index 0000000000..19c9e777d8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block31.syntaxtree.txt @@ -0,0 +1,34 @@ +Markup block - Gen - 46 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 46 - (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 - 43 - (2:0,2) + Tag block - Gen - 43 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup block - Gen - 17 - (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]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-int - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block32.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block32.diagnostics.txt new file mode 100644 index 0000000000..f7ecf89f20 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block32.diagnostics.txt @@ -0,0 +1,2 @@ +(1,13): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,60): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block32.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block32.syntaxtree.txt new file mode 100644 index 0000000000..0b7b3df7d5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block32.syntaxtree.txt @@ -0,0 +1,52 @@ +Markup block - Gen - 129 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 129 - (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 - 126 - (2:0,2) + Tag block - Gen - 126 - (2:0,2) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (38:0,38) + Markup block - Gen - 13 - (38:0,38) + Expression block - Gen - 13 - (38:0,38) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (39:0,39) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (53:0,53) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-required-string - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (88:0,88) + Markup block - Gen - 13 - (88:0,88) + Expression block - Gen - 13 - (88:0,88) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (88:0,88) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (89:0,89) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (101:0,101) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (103:0,103) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + unbound-required - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (128:0,128) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (128:0,128) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (129:0,129) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block33.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block33.diagnostics.txt new file mode 100644 index 0000000000..02bcf3e7fa --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block33.diagnostics.txt @@ -0,0 +1,3 @@ +(1,9): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,47): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. +(1,87): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block33.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block33.syntaxtree.txt new file mode 100644 index 0000000000..047d0c4932 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block33.syntaxtree.txt @@ -0,0 +1,52 @@ +Markup block - Gen - 104 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 104 - (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 - 101 - (2:0,2) + Tag block - Gen - 101 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (25:0,25) + Markup block - Gen - 13 - (25:0,25) + Expression block - Gen - 13 - (25:0,25) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (26:0,26) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (40:0,40) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-string - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (66:0,66) + Markup block - Gen - 13 - (66:0,66) + Expression block - Gen - 13 - (66:0,66) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (66:0,66) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (67:0,67) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (79:0,79) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (81:0,81) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-string - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (103:0,103) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (103:0,103) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (104:0,104) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block4.diagnostics.txt new file mode 100644 index 0000000000..e49be8f23f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block4.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block4.syntaxtree.txt new file mode 100644 index 0000000000..999531be78 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block4.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 28 - (2:0,2) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block5.diagnostics.txt new file mode 100644 index 0000000000..d801de11d6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block5.diagnostics.txt @@ -0,0 +1 @@ +(1,6): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block5.syntaxtree.txt new file mode 100644 index 0000000000..c1f53b792e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block5.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 17 - (2:0,2) + Tag block - Gen - 17 - (2:0,2) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block6.diagnostics.txt new file mode 100644 index 0000000000..4ea65e9705 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block6.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'int-dictionary' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Collections.Generic.IDictionary' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block6.syntaxtree.txt new file mode 100644 index 0000000000..e045049aa9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block6.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 26 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 26 - (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 - 23 - (2:0,2) + Tag block - Gen - 23 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + int-dictionary - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block7.diagnostics.txt new file mode 100644 index 0000000000..c4f2e7af6d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block7.diagnostics.txt @@ -0,0 +1 @@ +(1,10): Error RZ2008: Attribute 'string-dictionary' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Collections.Generic.IDictionary' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block7.syntaxtree.txt new file mode 100644 index 0000000000..566feebca8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block7.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 27 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + string-dictionary - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block8.diagnostics.txt new file mode 100644 index 0000000000..132178a225 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block8.diagnostics.txt @@ -0,0 +1,2 @@ +(1,10): Error RZ2008: Attribute 'int-prefix-' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,10): Error RZ1029: The tag helper attribute 'int-prefix-' in element 'input' is missing a key. The syntax is ''. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block8.syntaxtree.txt new file mode 100644 index 0000000000..e56f0f0ce8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block8.syntaxtree.txt @@ -0,0 +1,18 @@ +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 - 21 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + int-prefix- - Minimized + 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block9.diagnostics.txt new file mode 100644 index 0000000000..b9efc3a749 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block9.diagnostics.txt @@ -0,0 +1,2 @@ +(1,10): Error RZ2008: Attribute 'string-prefix-' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. +(1,10): Error RZ1029: The tag helper attribute 'string-prefix-' in element 'input' is missing a key. The syntax is ''. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block9.syntaxtree.txt new file mode 100644 index 0000000000..86ddeb40d9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Block9.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 26 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 26 - (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 - 23 - (2:0,2) + Tag block - Gen - 23 - (2:0,2) - input - InputTagHelper3 + SelfClosing - + string-prefix- - Minimized + Code span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document1.syntaxtree.txt new file mode 100644 index 0000000000..8a35bfa8f2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document1.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 26 - (0:0,0) + Tag block - Gen - 26 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + unbound-required - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document10.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document10.diagnostics.txt new file mode 100644 index 0000000000..f9aca6bc06 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document10.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'int-prefix-value' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document10.syntaxtree.txt new file mode 100644 index 0000000000..8c636ecf07 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document10.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + int-prefix-value - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document11.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document11.diagnostics.txt new file mode 100644 index 0000000000..34c821c786 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document11.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'string-prefix-value' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document11.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document11.syntaxtree.txt new file mode 100644 index 0000000000..f8f403ef11 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document11.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + string-prefix-value - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document12.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document12.diagnostics.txt new file mode 100644 index 0000000000..f9aca6bc06 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document12.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'int-prefix-value' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document12.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document12.syntaxtree.txt new file mode 100644 index 0000000000..e5a9fb8e25 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document12.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + int-prefix-value - SingleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document13.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document13.syntaxtree.txt new file mode 100644 index 0000000000..7f597a2b72 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document13.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + string-prefix-value - SingleQuotes + Markup block - Gen - 0 - (0:0,0) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document14.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document14.syntaxtree.txt new file mode 100644 index 0000000000..e12bfb7168 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document14.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + int-prefix-value - SingleQuotes + Code span - Gen - [3] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[3]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document15.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document15.syntaxtree.txt new file mode 100644 index 0000000000..9cc34a82f2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document15.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + string-prefix-value - SingleQuotes + Markup block - Gen - 11 - (28:0,28) + Markup span - Gen - [some] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1 + HtmlSymbolType.Text;[some]; + Markup span - Gen - [ string] - SpanEditHandler;Accepts:Any - (32:0,32) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[string]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document16.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document16.diagnostics.txt new file mode 100644 index 0000000000..f16231c79a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document16.diagnostics.txt @@ -0,0 +1 @@ +(1,25): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document16.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document16.syntaxtree.txt new file mode 100644 index 0000000000..670480e001 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document16.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 48 - (0:0,0) + Tag block - Gen - 48 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + unbound-required - Minimized + bound-required-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document17.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document17.diagnostics.txt new file mode 100644 index 0000000000..a34289902a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document17.diagnostics.txt @@ -0,0 +1,2 @@ +(1,4): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,14): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document17.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document17.syntaxtree.txt new file mode 100644 index 0000000000..f2b82508fc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document17.syntaxtree.txt @@ -0,0 +1,5 @@ +Markup block - Gen - 30 - (0:0,0) + Tag block - Gen - 30 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + bound-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document18.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document18.diagnostics.txt new file mode 100644 index 0000000000..b62a808863 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document18.diagnostics.txt @@ -0,0 +1,2 @@ +(1,8): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,44): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document18.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document18.syntaxtree.txt new file mode 100644 index 0000000000..100a7b3984 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document18.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 67 - (0:0,0) + Tag block - Gen - 67 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + unbound-required - Minimized + bound-required-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document19.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document19.diagnostics.txt new file mode 100644 index 0000000000..2d5adeffaa --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document19.diagnostics.txt @@ -0,0 +1,3 @@ +(1,4): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,14): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. +(1,27): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document19.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document19.syntaxtree.txt new file mode 100644 index 0000000000..a3c21fad15 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document19.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + bound-string - Minimized + bound-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document2.diagnostics.txt new file mode 100644 index 0000000000..73d0ec9b72 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document2.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document2.syntaxtree.txt new file mode 100644 index 0000000000..43cbf94537 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document2.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 20 - (0:0,0) + Tag block - Gen - 20 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document20.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document20.syntaxtree.txt new file mode 100644 index 0000000000..277bbe3ee4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document20.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 38 - (0:0,0) + Tag block - Gen - 38 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + unbound-required - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document21.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document21.diagnostics.txt new file mode 100644 index 0000000000..73d0ec9b72 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document21.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document21.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document21.syntaxtree.txt new file mode 100644 index 0000000000..99d6bfd0f3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document21.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 32 - (0:0,0) + Tag block - Gen - 32 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-string - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document22.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document22.syntaxtree.txt new file mode 100644 index 0000000000..ef8bb2ae91 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document22.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 38 - (0:0,0) + Tag block - Gen - 38 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[btn]; + unbound-required - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document23.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document23.diagnostics.txt new file mode 100644 index 0000000000..1379c04890 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document23.diagnostics.txt @@ -0,0 +1 @@ +(1,16): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document23.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document23.syntaxtree.txt new file mode 100644 index 0000000000..89c9928efc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document23.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 32 - (0:0,0) + Tag block - Gen - 32 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document24.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document24.diagnostics.txt new file mode 100644 index 0000000000..fa5bd9298e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document24.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document24.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document24.syntaxtree.txt new file mode 100644 index 0000000000..a5c5aa1057 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document24.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + bound-required-string - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document25.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document25.diagnostics.txt new file mode 100644 index 0000000000..107ae7e349 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document25.diagnostics.txt @@ -0,0 +1 @@ +(1,20): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document25.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document25.syntaxtree.txt new file mode 100644 index 0000000000..94aed53feb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document25.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-required-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document26.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document26.diagnostics.txt new file mode 100644 index 0000000000..7c6942351c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document26.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document26.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document26.syntaxtree.txt new file mode 100644 index 0000000000..42e5ad9487 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document26.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 40 - (0:0,0) + Tag block - Gen - 40 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document27.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document27.diagnostics.txt new file mode 100644 index 0000000000..522de8be51 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document27.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document27.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document27.syntaxtree.txt new file mode 100644 index 0000000000..325a5bc680 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document27.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document28.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document28.diagnostics.txt new file mode 100644 index 0000000000..b147ff3b8e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document28.diagnostics.txt @@ -0,0 +1 @@ +(1,20): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document28.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document28.syntaxtree.txt new file mode 100644 index 0000000000..30389b76c9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document28.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 40 - (0:0,0) + Tag block - Gen - 40 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-required-int - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document29.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document29.diagnostics.txt new file mode 100644 index 0000000000..070a2efcbf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document29.diagnostics.txt @@ -0,0 +1 @@ +(1,16): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document29.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document29.syntaxtree.txt new file mode 100644 index 0000000000..fcaea93b3e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document29.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 29 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[btn]; + bound-int - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document3.diagnostics.txt new file mode 100644 index 0000000000..fa5bd9298e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document3.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document3.syntaxtree.txt new file mode 100644 index 0000000000..8603a024a5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document3.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + SelfClosing - + bound-required-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document30.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document30.diagnostics.txt new file mode 100644 index 0000000000..35bf3d2029 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document30.diagnostics.txt @@ -0,0 +1 @@ +(1,34): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document30.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document30.syntaxtree.txt new file mode 100644 index 0000000000..3f3d81136c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document30.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 54 - (0:0,0) + Tag block - Gen - 54 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + class - SingleQuotes + Markup block - Gen - 17 - (14:0,14) + Markup block - Gen - 13 - (14:0,14) + Expression block - Gen - 13 - (14:0,14) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (15:0,15) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-required-int - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document31.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document31.diagnostics.txt new file mode 100644 index 0000000000..49aae9f038 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document31.diagnostics.txt @@ -0,0 +1 @@ +(1,30): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document31.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document31.syntaxtree.txt new file mode 100644 index 0000000000..c74848db48 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document31.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 43 - (0:0,0) + Tag block - Gen - 43 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + class - SingleQuotes + Markup block - Gen - 17 - (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 - [ +] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-int - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document32.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document32.diagnostics.txt new file mode 100644 index 0000000000..87c50385f2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document32.diagnostics.txt @@ -0,0 +1,2 @@ +(1,11): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,58): Error RZ2008: Attribute 'bound-required-string' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document32.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document32.syntaxtree.txt new file mode 100644 index 0000000000..d44e0999be --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document32.syntaxtree.txt @@ -0,0 +1,38 @@ +Markup block - Gen - 126 - (0:0,0) + Tag block - Gen - 126 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (36:0,36) + Markup block - Gen - 13 - (36:0,36) + Expression block - Gen - 13 - (36:0,36) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (36:0,36) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (37:0,37) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-required-string - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (86:0,86) + Markup block - Gen - 13 - (86:0,86) + Expression block - Gen - 13 - (86:0,86) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (86:0,86) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (87:0,87) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (99:0,99) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (101:0,101) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + unbound-required - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document33.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document33.diagnostics.txt new file mode 100644 index 0000000000..482a02baa0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document33.diagnostics.txt @@ -0,0 +1,3 @@ +(1,7): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,45): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. +(1,85): Error RZ2008: Attribute 'bound-string' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document33.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document33.syntaxtree.txt new file mode 100644 index 0000000000..199947a292 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document33.syntaxtree.txt @@ -0,0 +1,38 @@ +Markup block - Gen - 101 - (0:0,0) + Tag block - Gen - 101 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (23:0,23) + Markup block - Gen - 13 - (23:0,23) + Expression block - Gen - 13 - (23:0,23) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (24:0,24) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-string - Minimized + class - SingleQuotes + Markup block - Gen - 17 - (64:0,64) + Markup block - Gen - 13 - (64:0,64) + Expression block - Gen - 13 - (64:0,64) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (64:0,64) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (65:0,65) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (77:0,77) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[+]; + Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (79:0,79) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[1]; + bound-string - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document4.diagnostics.txt new file mode 100644 index 0000000000..7c6942351c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document4.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'bound-required-int' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document4.syntaxtree.txt new file mode 100644 index 0000000000..fc50535f18 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document4.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 + SelfClosing - + bound-required-int - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document5.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document5.diagnostics.txt new file mode 100644 index 0000000000..522de8be51 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document5.diagnostics.txt @@ -0,0 +1 @@ +(1,4): Error RZ2008: Attribute 'bound-int' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document5.syntaxtree.txt new file mode 100644 index 0000000000..1808af976c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document5.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 17 - (0:0,0) + Tag block - Gen - 17 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

      ...

      + bound-int - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document6.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document6.diagnostics.txt new file mode 100644 index 0000000000..087db6b299 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document6.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'int-dictionary' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Collections.Generic.IDictionary' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document6.syntaxtree.txt new file mode 100644 index 0000000000..74632783f3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document6.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + int-dictionary - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document7.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document7.diagnostics.txt new file mode 100644 index 0000000000..2d79facfa7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document7.diagnostics.txt @@ -0,0 +1 @@ +(1,8): Error RZ2008: Attribute 'string-dictionary' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Collections.Generic.IDictionary' cannot be empty or contain only whitespace. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document7.syntaxtree.txt new file mode 100644 index 0000000000..938c61a112 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document7.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 27 - (0:0,0) + Tag block - Gen - 27 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + string-dictionary - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document8.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document8.diagnostics.txt new file mode 100644 index 0000000000..0b5a932381 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document8.diagnostics.txt @@ -0,0 +1,2 @@ +(1,8): Error RZ2008: Attribute 'int-prefix-' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace. +(1,8): Error RZ1029: The tag helper attribute 'int-prefix-' in element 'input' is missing a key. The syntax is ''. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document8.syntaxtree.txt new file mode 100644 index 0000000000..766a4da8bc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document8.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 21 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + int-prefix- - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document9.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document9.diagnostics.txt new file mode 100644 index 0000000000..6b9780fc87 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document9.diagnostics.txt @@ -0,0 +1,2 @@ +(1,8): Error RZ2008: Attribute 'string-prefix-' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.String' cannot be empty or contain only whitespace. +(1,8): Error RZ1029: The tag helper attribute 'string-prefix-' in element 'input' is missing a key. The syntax is ''. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document9.syntaxtree.txt new file mode 100644 index 0000000000..65f176bb55 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_Document9.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - input - InputTagHelper3 + SelfClosing - + string-prefix- - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_PartialTags1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_PartialTags1.diagnostics.txt new file mode 100644 index 0000000000..b90634a515 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_PartialTags1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,2): Error RZ1035: Missing close angle for tag helper 'input'. +(1,2): Error RZ1034: Found a malformed 'input' 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/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_PartialTags1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_PartialTags1.syntaxtree.txt new file mode 100644 index 0000000000..f19a3803ba --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/Rewrite_UnderstandsMinimizedAttributes_PartialTags1.syntaxtree.txt @@ -0,0 +1,4 @@ +Markup block - Gen - 23 - (0:0,0) + Tag block - Gen - 23 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + StartTagAndEndTag - - 28 - (0:0,0) + Tag block - Gen - 28 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 + StartTagAndEndTag - - 25 - (0:0,0) + Tag block - Gen - 25 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 + StartTagAndEndTag - - 64 - (0:0,0) + Tag block - Gen - 64 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + StartTagAndEndTag - - 15 - (0:0,0) + Tag block - Gen - 15 - (0:0,0) - p - PTagHelper + StartTagAndEndTag -

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

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

      - 89 - (0:0,0) + Tag block - Gen - 89 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + StartTagAndEndTag - - 25 - (64:0,64) - p - PTagHelper + StartTagAndEndTag -

      - 37 - (0:0,0) + Tag block - Gen - 37 - (0:0,0) - input - InputTagHelper + SelfClosing - + boundbool - Minimized + boundbooldict-key - Minimized diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.syntaxtree.txt new file mode 100644 index 0000000000..6816a7e409 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 11 - (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 - 1 - (1:0,1) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 9 - (2:0,2) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [>>] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:2 + HtmlSymbolType.CloseAngle;[>]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.syntaxtree.txt new file mode 100644 index 0000000000..ea154fe3ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.syntaxtree.txt @@ -0,0 +1,32 @@ +Markup block - Gen - 42 - (0:0,0) + Tag block - Gen - 42 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Tag block - Gen - 17 - (3:0,3) + Markup span - Gen - [< ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (5:0,5) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (6:0,6) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ >] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 3 - (20:0,20) + Markup span - Gen - [ - 13 - (23:0,23) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (24:0,24) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ >] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.syntaxtree.txt new file mode 100644 index 0000000000..f57540066a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.syntaxtree.txt @@ -0,0 +1,6 @@ +Markup block - Gen - 6 - (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 - 5 - (1:0,1) - p - ptaghelper + SelfClosing -

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.syntaxtree.txt new file mode 100644 index 0000000000..82694eaf99 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.syntaxtree.txt @@ -0,0 +1,12 @@ +Markup block - Gen - 6 - (0:0,0) + Tag block - Gen - 6 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Markup block - Gen - 2 - (1:0,1) + Markup span - Gen - [ p] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[p]; + Markup span - Gen - [ />] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.syntaxtree.txt new file mode 100644 index 0000000000..c9a7bdb437 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.syntaxtree.txt @@ -0,0 +1,8 @@ +Markup block - Gen - 12 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) + Markup span - Gen - [ - 5 - (7:0,7) - p - ptaghelper + SelfClosing -

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.syntaxtree.txt new file mode 100644 index 0000000000..d9f8248404 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.syntaxtree.txt @@ -0,0 +1,18 @@ +Markup block - Gen - 19 - (0:0,0) + Tag block - Gen - 14 - (0:0,0) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Markup block - Gen - 12 - (1:0,1) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 5 - (14:0,14) - p - ptaghelper + SelfClosing -

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.syntaxtree.txt new file mode 100644 index 0000000000..fa6bef8313 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 13 - (0:0,0) + Tag block - Gen - 2 - (0:0,0) + Markup span - Gen - [ - 1 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 9 - (3:0,3) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [/>] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:2 + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.syntaxtree.txt new file mode 100644 index 0000000000..1623a4f6db --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 2 - (0:0,0) + Markup span - Gen - [ - 1 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 17 - (3:0,3) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [/>] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:2 + HtmlSymbolType.ForwardSlash;[/]; + 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;[>]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.syntaxtree.txt new file mode 100644 index 0000000000..cdd286de92 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 34 - (0:0,0) + Tag block - Gen - 2 - (0:0,0) + Markup span - Gen - [ - 1 - (2:0,2) + Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.OpenAngle;[<]; + Tag block - Gen - 30 - (3:0,3) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Expression block - Gen - 13 - (6:0,6) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (7:0,7) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [/>] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:2 + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (21:0,21) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.syntaxtree.txt new file mode 100644 index 0000000000..ccc2c9fab0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.syntaxtree.txt @@ -0,0 +1,38 @@ +Markup block - Gen - 52 - (0:0,0) + Tag block - Gen - 4 - (0:0,0) + Markup span - Gen - [ - [/] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.ForwardSlash;[/]; + Tag block - Gen - 4 - (5:0,5) + Markup span - Gen - [< >] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 32 - (9:0,9) - p - ptaghelper + StartTagAndEndTag -

      ...

      + 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]; + Markup span - Gen - [ / >] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 8 - (29:0,29) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 11 - (41:0,41) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.diagnostics.txt new file mode 100644 index 0000000000..2578ab72e2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.diagnostics.txt @@ -0,0 +1,2 @@ +(1,54): Error RZ1034: Found a malformed 'strong' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,67): 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/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.syntaxtree.txt new file mode 100644 index 0000000000..ab1fb7096c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 73 - (0:0,0) + Tag block - Gen - 64 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (21:0,21) + Markup block - Gen - 13 - (21:0,21) + 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]; + style - NoQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Tag block - Gen - 8 - (52:0,52) - strong - strongtaghelper + StartTagAndEndTag - + Tag block - Gen - 9 - (64:0,64) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (64:0,64) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.diagnostics.txt new file mode 100644 index 0000000000..b1d7d8700f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.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/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.syntaxtree.txt new file mode 100644 index 0000000000..2d248c7670 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 42 - (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 - 37 - (5:0,5) - p - ptaghelper + StartTagAndEndTag -

      + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 22 - (14:0,14) - strong - strongtaghelper + StartTagAndEndTag - ... + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[World]; + Tag block - Gen - 6 - (36:0,36) + Markup span - Gen - [

      ] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.diagnostics.txt new file mode 100644 index 0000000000..f0fb702841 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.diagnostics.txt @@ -0,0 +1,2 @@ +(1,7): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing. +(1,16): 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/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.syntaxtree.txt new file mode 100644 index 0000000000..40cf5d9a70 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 33 - (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 - 28 - (5:0,5) - p - ptaghelper + StartTagAndEndTag -

      + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 19 - (14:0,14) - strong - strongtaghelper + StartTagAndEndTag - + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[World]; + Tag block - Gen - 6 - (27:0,27) + Markup span - Gen - [

      ] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.diagnostics.txt new file mode 100644 index 0000000000..d177eb6df7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.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/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.syntaxtree.txt new file mode 100644 index 0000000000..a69489234e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 52 - (0:0,0) + Tag block - Gen - 52 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[foo]; + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 31 - (21:0,21) - p - ptaghelper + StartTagAndEndTag -

      ...

      + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.syntaxtree.txt new file mode 100644 index 0000000000..09ea3dab21 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 51 - (0:0,0) + Tag block - Gen - 51 - (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]; + style - SingleQuotes + Markup block - Gen - 13 - (32:0,32) + Markup block - Gen - 13 - (32:0,32) + Expression block - Gen - 13 - (32:0,32) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (33:0,33) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.syntaxtree.txt new file mode 100644 index 0000000000..eb37e795f3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.syntaxtree.txt @@ -0,0 +1,105 @@ +Markup block - Gen - 153 - (0:0,0) + Tag block - Gen - 153 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup block - Gen - 64 - (10:0,10) + Markup block - Gen - 64 - (10:0,10) + Statement block - Gen - 64 - (10:0,10) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:13 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 16 - (31:0,31) + Tag block - Gen - 6 - (31:0,31) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (40:0,40) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Symbols:16 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + style - SingleQuotes + Markup block - Gen - 64 - (83:0,83) + Markup block - Gen - 64 - (83:0,83) + Statement block - Gen - 64 - (83:0,83) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (83:0,83) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (84:0,84) - Symbols:13 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 16 - (104:0,104) + Tag block - Gen - 6 - (104:0,104) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (104:0,104) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (110:0,110) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (113:0,113) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (113:0,113) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (120:0,120) - Symbols:16 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.syntaxtree.txt new file mode 100644 index 0000000000..7e233debd2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 62 - (0:0,0) + Tag block - Gen - 62 - (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]; + style - SingleQuotes + Markup block - Gen - 13 - (32:0,32) + Markup block - Gen - 13 - (32:0,32) + Expression block - Gen - 13 - (32:0,32) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (33:0,33) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.syntaxtree.txt new file mode 100644 index 0000000000..1cf82984b4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.syntaxtree.txt @@ -0,0 +1,109 @@ +Markup block - Gen - 164 - (0:0,0) + Tag block - Gen - 164 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup block - Gen - 64 - (10:0,10) + Markup block - Gen - 64 - (10:0,10) + Statement block - Gen - 64 - (10:0,10) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:13 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 16 - (31:0,31) + Tag block - Gen - 6 - (31:0,31) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (40:0,40) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Symbols:16 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + style - SingleQuotes + Markup block - Gen - 64 - (83:0,83) + Markup block - Gen - 64 - (83:0,83) + Statement block - Gen - 64 - (83:0,83) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (83:0,83) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (84:0,84) - Symbols:13 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 16 - (104:0,104) + Tag block - Gen - 6 - (104:0,104) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (104:0,104) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (110:0,110) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (113:0,113) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (113:0,113) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (120:0,120) - Symbols:16 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (149:0,149) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.syntaxtree.txt new file mode 100644 index 0000000000..7997a99357 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.syntaxtree.txt @@ -0,0 +1,31 @@ +Markup block - Gen - 69 - (0:0,0) + Tag block - Gen - 34 - (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 - [Hello] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 34 - (35:0,35) - p - ptaghelper + StartTagAndEndTag -

      ...

      + style - SingleQuotes + Markup block - Gen - 13 - (45:0,45) + Markup block - Gen - 13 - (45:0,45) + Expression block - Gen - 13 - (45:0,45) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (46:0,46) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (60:0,60) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.syntaxtree.txt new file mode 100644 index 0000000000..cd026c692a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.syntaxtree.txt @@ -0,0 +1,113 @@ +Markup block - Gen - 171 - (0:0,0) + Tag block - Gen - 85 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup block - Gen - 64 - (10:0,10) + Markup block - Gen - 64 - (10:0,10) + Statement block - Gen - 64 - (10:0,10) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:13 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 16 - (31:0,31) + Tag block - Gen - 6 - (31:0,31) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (31:0,31) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (40:0,40) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Symbols:16 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (76:0,76) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (85:0,85) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 85 - (86:0,86) - p - ptaghelper + StartTagAndEndTag -

      ...

      + style - SingleQuotes + Markup block - Gen - 64 - (96:0,96) + Markup block - Gen - 64 - (96:0,96) + Statement block - Gen - 64 - (96:0,96) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (96:0,96) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (97:0,97) - Symbols:13 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 16 - (117:0,117) + Tag block - Gen - 6 - (117:0,117) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (117:0,117) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (123:0,123) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (126:0,126) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (126:0,126) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (133:0,133) - Symbols:16 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (162:0,162) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.syntaxtree.txt new file mode 100644 index 0000000000..702bbd8899 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.syntaxtree.txt @@ -0,0 +1,64 @@ +Markup block - Gen - 122 - (0:0,0) + Tag block - Gen - 122 - (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]; + style - SingleQuotes + Markup block - Gen - 13 - (32:0,32) + Markup block - Gen - 13 - (32:0,32) + Expression block - Gen - 13 - (32:0,32) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (33:0,33) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [Hello World ] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:4 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 30 - (59:0,59) + Markup span - Gen - [ - 22 - (66:0,66) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (66:0,66) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup block - Gen - 13 - (74:0,74) + Expression block - Gen - 13 - (74:0,74) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (74:0,74) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (75:0,75) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (87:0,87) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (88:0,88) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [inside of strong tag] - SpanEditHandler;Accepts:Any - (89:0,89) - Symbols:7 + HtmlSymbolType.Text;[inside]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[of]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[tag]; + Tag block - Gen - 9 - (109:0,109) + Markup span - Gen - [
      ] - SpanEditHandler;Accepts:Any - (109:0,109) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.syntaxtree.txt new file mode 100644 index 0000000000..be556ca4dd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 20 - (0:0,0) + Tag block - Gen - 20 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Expression block - Gen - 13 - (3:0,3) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (4:0,4) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.syntaxtree.txt new file mode 100644 index 0000000000..11a2d5e5e5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.syntaxtree.txt @@ -0,0 +1,44 @@ +Markup block - Gen - 65 - (0:0,0) + Tag block - Gen - 65 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Statement block - Gen - 58 - (3:0,3) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:12 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + Markup block - Gen - 12 - (23:0,23) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (24:0,24) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (35:0,35) - Symbols:15 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.syntaxtree.txt new file mode 100644 index 0000000000..6dd4ca4740 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.syntaxtree.txt @@ -0,0 +1,15 @@ +Markup block - Gen - 32 - (0:0,0) + Tag block - Gen - 32 - (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;[ ]; + Expression block - Gen - 13 - (15:0,15) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (16:0,16) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.syntaxtree.txt new file mode 100644 index 0000000000..eb74a67708 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.syntaxtree.txt @@ -0,0 +1,49 @@ +Markup block - Gen - 77 - (0:0,0) + Tag block - Gen - 77 - (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;[ ]; + Statement block - Gen - 58 - (15:0,15) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:12 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + Markup block - Gen - 12 - (35:0,35) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (36:0,36) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (46:0,46) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Symbols:15 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.syntaxtree.txt new file mode 100644 index 0000000000..ea411ae65f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 41 - (0:0,0) + Tag block - Gen - 20 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Expression block - Gen - 13 - (3:0,3) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (4:0,4) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 20 - (21:0,21) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Expression block - Gen - 13 - (24:0,24) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (25:0,25) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.syntaxtree.txt new file mode 100644 index 0000000000..19254e3a10 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.syntaxtree.txt @@ -0,0 +1,89 @@ +Markup block - Gen - 131 - (0:0,0) + Tag block - Gen - 65 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Statement block - Gen - 58 - (3:0,3) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:12 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + Markup block - Gen - 12 - (23:0,23) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (24:0,24) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (34:0,34) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (35:0,35) - Symbols:15 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (65:0,65) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 65 - (66:0,66) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Statement block - Gen - 58 - (69:0,69) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (69:0,69) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (70:0,70) - Symbols:12 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + Markup block - Gen - 12 - (89:0,89) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (89:0,89) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (90:0,90) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (93:0,93) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (100:0,100) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (101:0,101) - Symbols:15 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.syntaxtree.txt new file mode 100644 index 0000000000..959b12b5bb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.syntaxtree.txt @@ -0,0 +1,41 @@ +Markup block - Gen - 77 - (0:0,0) + Tag block - Gen - 77 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (9:0,9) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (10:0,10) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + 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;[>]; + Markup span - Gen - [inside of ] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:4 + HtmlSymbolType.Text;[inside]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[of]; + HtmlSymbolType.WhiteSpace;[ ]; + Expression block - Gen - 13 - (40:0,40) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (41:0,41) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [ strong tag] - SpanEditHandler;Accepts:Any - (53:0,53) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[tag]; + Tag block - Gen - 9 - (64:0,64) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (64:0,64) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.syntaxtree.txt new file mode 100644 index 0000000000..9b219af237 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.syntaxtree.txt @@ -0,0 +1,109 @@ +Markup block - Gen - 167 - (0:0,0) + Tag block - Gen - 167 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Statement block - Gen - 58 - (9:0,9) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:12 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + Markup block - Gen - 12 - (29:0,29) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (30:0,30) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (40:0,40) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (41:0,41) - Symbols:15 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + Tag block - Gen - 8 - (67:0,67) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (67:0,67) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [inside of ] - SpanEditHandler;Accepts:Any - (75:0,75) - Symbols:4 + HtmlSymbolType.Text;[inside]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[of]; + HtmlSymbolType.WhiteSpace;[ ]; + Statement block - Gen - 58 - (85:0,85) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (85:0,85) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (86:0,86) - Symbols:12 + CSharpSymbolType.Keyword;[do]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.Semicolon;[;]; + Markup block - Gen - 12 - (105:0,105) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (105:0,105) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (106:0,106) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (109:0,109) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (116:0,116) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (117:0,117) - Symbols:15 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.Increment;[++]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[while]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LessThan;[<]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.Semicolon;[;]; + Markup span - Gen - [ strong tag] - SpanEditHandler;Accepts:Any - (143:0,143) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[tag]; + Tag block - Gen - 9 - (154:0,154) + Markup span - Gen - [
      ] - SpanEditHandler;Accepts:Any - (154:0,154) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.syntaxtree.txt new file mode 100644 index 0000000000..707ae0602f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 66 - (0:0,0) + Tag block - Gen - 66 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [ foo] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup block - Gen - 21 - (35:0,35) + Markup span - Gen - [ color] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[color]; + Markup span - Gen - [ :] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[:]; + Markup span - Gen - [ red] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[red]; + Markup span - Gen - [ ;] - SpanEditHandler;Accepts:Any - (50:0,50) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[;]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (53:0,53) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.syntaxtree.txt new file mode 100644 index 0000000000..ead813f687 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 77 - (0:0,0) + Tag block - Gen - 77 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [ foo] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup block - Gen - 21 - (35:0,35) + Markup span - Gen - [ color] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[color]; + Markup span - Gen - [ :] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[:]; + Markup span - Gen - [ red] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[red]; + Markup span - Gen - [ ;] - SpanEditHandler;Accepts:Any - (50:0,50) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[;]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (53:0,53) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (62:0,62) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.syntaxtree.txt new file mode 100644 index 0000000000..b04d34433b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.syntaxtree.txt @@ -0,0 +1,25 @@ +Markup block - Gen - 73 - (0:0,0) + Tag block - Gen - 34 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup block - Gen - 8 - (14:0,14) + Markup span - Gen - [ foo] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 38 - (35:0,35) - p - ptaghelper + StartTagAndEndTag -

      ...

      + style - DoubleQuotes + Markup block - Gen - 13 - (48:0,48) + Markup span - Gen - [ color:red;] - SpanEditHandler;Accepts:Any - (48:0,48) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (60:0,60) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (64:0,64) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.syntaxtree.txt new file mode 100644 index 0000000000..6e1b6c4d21 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.syntaxtree.txt @@ -0,0 +1,3 @@ +Markup block - Gen - 7 - (0:0,0) + Tag block - Gen - 7 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.syntaxtree.txt new file mode 100644 index 0000000000..a9eb727cb5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.syntaxtree.txt @@ -0,0 +1,7 @@ +Markup block - Gen - 18 - (0:0,0) + Tag block - Gen - 18 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.syntaxtree.txt new file mode 100644 index 0000000000..493da9ec35 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 25 - (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]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 12 - (13:0,13) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.syntaxtree.txt new file mode 100644 index 0000000000..26e2e665fd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 56 - (0:0,0) + Tag block - Gen - 56 - (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 - 8 - (15:0,15) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [inside of strong tag] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:7 + HtmlSymbolType.Text;[inside]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[of]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[tag]; + Tag block - Gen - 9 - (43:0,43) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.syntaxtree.txt new file mode 100644 index 0000000000..064d8931ab --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.syntaxtree.txt @@ -0,0 +1,11 @@ +Markup block - Gen - 31 - (0:0,0) + Tag block - Gen - 31 - (0:0,0) - script - scripttaghelper + StartTagAndEndTag - + Markup span - Gen - [ + Markup span - Gen - [Hello World
      ] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:11 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[div]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.syntaxtree.txt new file mode 100644 index 0000000000..517705f0ff --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.syntaxtree.txt @@ -0,0 +1,21 @@ +Markup block - Gen - 53 - (0:0,0) + Tag block - Gen - 29 - (0:0,0) - script - scripttaghelper + StartTagAndEndTag - + Markup span - Gen - [Hel

      lo

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

      ...

      + Tag block - Gen - 16 - (33:0,33) - div - divtaghelper + StartTagAndEndTag -
      ...
      + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.syntaxtree.txt new file mode 100644 index 0000000000..e07247a5a9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.syntaxtree.txt @@ -0,0 +1,26 @@ +Markup block - Gen - 75 - (0:0,0) + Tag block - Gen - 39 - (0:0,0) - script - scripttaghelper + StartTagAndEndTag - + Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:9 + HtmlSymbolType.Text;[Hel]; + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + HtmlSymbolType.Text;[lo]; + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 35 - (40:0,40) - script - scripttaghelper + StartTagAndEndTag - + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (48:0,48) - Symbols:8 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[span]; + HtmlSymbolType.CloseAngle;[>]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[span]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.syntaxtree.txt new file mode 100644 index 0000000000..4754a33438 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 41 - (0:0,0) + Tag block - Gen - 41 - (0:0,0) - script - scripttaghelper + SelfClosing - + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [ World] - SpanEditHandler;Accepts:Any - (57:0,57) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.syntaxtree.txt new file mode 100644 index 0000000000..2904bc4115 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 77 - (0:0,0) + Tag block - Gen - 77 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 58 - (9:0,9) - script - scripttaghelper + StartTagAndEndTag - + class - DoubleQuotes + Markup block - Gen - 13 - (24:0,24) + Markup block - Gen - 2 - (24:0,24) + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [foo@bar.com] - SpanEditHandler;Accepts:Any - (26:0,26) - Symbols:1 + HtmlSymbolType.Text;[foo@bar.com]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (46:0,46) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [ World] - SpanEditHandler;Accepts:Any - (67:0,67) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.syntaxtree.txt new file mode 100644 index 0000000000..c3e6fe3fe4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 36 - (0:0,0) + Tag block - Gen - 36 - (0:0,0) - p - ptaghelper + SelfClosing -

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.syntaxtree.txt new file mode 100644 index 0000000000..e7cfb5e271 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 55 - (0:0,0) + Tag block - Gen - 55 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + Markup span - Gen - [Hello ] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 36 - (9:0,9) - p - ptaghelper + SelfClosing -

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:1 + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [ World] - SpanEditHandler;Accepts:Any - (45:0,45) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.syntaxtree.txt new file mode 100644 index 0000000000..87e78572b3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 52 - (0:0,0) + Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Tag block - Gen - 17 - (5:0,5) - p - ptaghelper + SelfClosing -

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.Text;[foo]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 24 - (23:0,23) - p - ptaghelper + SelfClosing -

      + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.syntaxtree.txt new file mode 100644 index 0000000000..25f1eea709 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.syntaxtree.txt @@ -0,0 +1,9 @@ +Markup block - Gen - 38 - (0:0,0) + Tag block - Gen - 38 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.syntaxtree.txt new file mode 100644 index 0000000000..40d107a6bd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 49 - (0:0,0) + Tag block - Gen - 49 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.syntaxtree.txt new file mode 100644 index 0000000000..ac73b92277 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 56 - (0:0,0) + Tag block - Gen - 24 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[foo]; + Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (24:0,24) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 31 - (25:0,25) - p - ptaghelper + StartTagAndEndTag -

      ...

      + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (47:0,47) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.syntaxtree.txt new file mode 100644 index 0000000000..5e05aaaed3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.syntaxtree.txt @@ -0,0 +1,44 @@ +Markup block - Gen - 99 - (0:0,0) + Tag block - Gen - 99 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - DoubleQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:1 + HtmlSymbolType.Text;[foo]; + style - DoubleQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [Hello World ] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:4 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 20 - (46:0,46) + Markup span - Gen - [ - 12 - (53:0,53) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (53:0,53) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (61:0,61) - Symbols:1 + HtmlSymbolType.Text;[foo]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (64:0,64) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (65:0,65) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [inside of strong tag] - SpanEditHandler;Accepts:Any - (66:0,66) - Symbols:7 + HtmlSymbolType.Text;[inside]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[of]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[tag]; + 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;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.syntaxtree.txt new file mode 100644 index 0000000000..f5aef40da4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.syntaxtree.txt @@ -0,0 +1,19 @@ +Markup block - Gen - 56 - (0:0,0) + Tag block - Gen - 56 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (21:0,21) + Markup block - Gen - 13 - (21:0,21) + 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]; + style - NoQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.syntaxtree.txt new file mode 100644 index 0000000000..8a950fc71f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 67 - (0:0,0) + Tag block - Gen - 67 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (21:0,21) + Markup block - Gen - 13 - (21:0,21) + 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]; + style - NoQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (52:0,52) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.syntaxtree.txt new file mode 100644 index 0000000000..9e8fa9e59f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.syntaxtree.txt @@ -0,0 +1,31 @@ +Markup block - Gen - 69 - (0:0,0) + Tag block - Gen - 69 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (21:0,21) + Markup block - Gen - 13 - (21:0,21) + 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]; + style - DoubleQuotes + Markup block - Gen - 12 - (41:0,41) + Markup span - Gen - [color] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Text;[color]; + Markup block - Gen - 2 - (46:0,46) + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (46:0,46) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (47:0,47) - Symbols:1 + HtmlSymbolType.Transition;[@]; + Markup span - Gen - [:red;] - SpanEditHandler;Accepts:Any - (48:0,48) - Symbols:1 + HtmlSymbolType.Text;[:red;]; + Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (54:0,54) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.syntaxtree.txt new file mode 100644 index 0000000000..16269b60b7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.syntaxtree.txt @@ -0,0 +1,37 @@ +Markup block - Gen - 96 - (0:0,0) + Tag block - Gen - 44 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (21:0,21) + Markup block - Gen - 13 - (21:0,21) + 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 - [Hello] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1 + HtmlSymbolType.Text;[Hello]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (44:0,44) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 51 - (45:0,45) - p - ptaghelper + StartTagAndEndTag -

      ...

      + style - NoQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (54:0,54) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (73:0,73) + Markup block - Gen - 13 - (73:0,73) + Expression block - Gen - 13 - (73:0,73) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (73:0,73) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (74:0,74) - Symbols:3 + CSharpSymbolType.Identifier;[DateTime]; + CSharpSymbolType.Dot;[.]; + CSharpSymbolType.Identifier;[Now]; + Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (87:0,87) - Symbols:1 + HtmlSymbolType.Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.syntaxtree.txt new file mode 100644 index 0000000000..2c93c45ee2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.syntaxtree.txt @@ -0,0 +1,54 @@ +Markup block - Gen - 117 - (0:0,0) + Tag block - Gen - 117 - (0:0,0) - p - ptaghelper + StartTagAndEndTag -

      ...

      + class - NoQuotes + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.Text;[foo]; + dynamic - DoubleQuotes + Markup block - Gen - 13 - (21:0,21) + Markup block - Gen - 13 - (21:0,21) + 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]; + style - NoQuotes + Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Symbols:1 + HtmlSymbolType.Text;[color:red;]; + Markup span - Gen - [Hello World ] - SpanEditHandler;Accepts:Any - (52:0,52) - Symbols:4 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[World]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 20 - (64:0,64) + Markup span - Gen - [ - 12 - (71:0,71) + Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (71:0,71) - Symbols:4 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[class]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (79:0,79) - Symbols:1 + HtmlSymbolType.Text;[foo]; + Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (82:0,82) - Symbols:1 + HtmlSymbolType.DoubleQuote;["]; + Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (83:0,83) - Symbols:1 + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [inside of strong tag] - SpanEditHandler;Accepts:Any - (84:0,84) - Symbols:7 + HtmlSymbolType.Text;[inside]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[of]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[tag]; + Tag block - Gen - 9 - (104:0,104) + Markup span - Gen - [
      ] - SpanEditHandler;Accepts:Any - (104:0,104) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[strong]; + HtmlSymbolType.CloseAngle;[>]; 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--; }